English 中文(简体)
诊断和改善Java JNLP的性能相比JAR文件
原标题:
  • 时间:2009-02-17 00:04:38
  •  标签:

客户X要求找到方法来提高他使用的Java进程启动时间。问题在于它不是通过jar文件运行的,而是通过jnlp(我假设这表示它是一个Java WebStart应用程序)。

StartUserWorx.jnlp

有没有一种方法将这个转换为JAR文件,然后让用户在本地调用应用程序,并包括启动标志以分配更多的RAM给进程?

用户有点沮丧,因为同办公室的其他工作人员在几乎相同的机器上使用相同的应用程序,但他的过程似乎总是需要更长的时间来加载(几分钟而不是几秒钟)。

最佳回答

检查用户的网络设置。我有经验,一分钟左右的延迟通常是由DNS配置错误、错误路由表(当没有收到正面响应时DNS必须超时)或简单地是一个错误的lmhosts文件引起的。

问题回答

检查慢机器上的代理设置。该用户可能没有正确的代理设置,可能会发生大量的额外网络流量/超时问题。

我们以前在Webstart上遇到过这个问题,从本地服务器下载一个JAR包要往返通过代理到达另一端,然后再返回。

如果您使用类似记事本的工具查看.jnlp文件的内容,您会看到它用于运行的所有信息。

查找 main-class(在 application-desc 节点上)。这是包含主要方法的 Java 类。有关更多信息,请参阅 http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp 以获取 jnlp 规范。

从这里开始,您可以创建一个带有适当类路径的批处理文件来运行应用程序。但是,您会使使用jnlp方法的任何优势都失效。因此您需要记住这一点。

在jnio文件中还有一个资源部分,其中会显示它需要的jar文件和其他网络启动jnlp。

你应该对应用程序之外进行一些检查。如果这些机器相似,那么很可能有些地方不同。需要磁盘碎片整理吗?网络有问题吗?也许是Java虚拟机加载时间过长。





相关问题
热门标签