2016-06-30 49 views
6

我们有一组Java应用程序,我们多年来一直在开发通过Web Start远程启动的Java应用程序。在更新到Java SE 8 Update 91之后,在启动过程中出现非常明显的暂停(取决于应用程序的时间为20-60秒),并且没有向典型用户指示任何事情正在发生。这种暂停发生在Java的“正在启动应用程序”对话框关闭之后以及应用程序启动之前。Java 8更新91 Web Start应用程序具有较长的启动延迟

暂停的长度似乎与应用程序的大小相关。恢复到Java 8 Update 77完全消除了暂停,并且这些相同的应用程序无需任何暂停即可启动。

我们的应用做要求“所有的权限”因为我们需要读/写数据到客户端的驱动器,用于高速缓存的目的。所以我们所有的罐子都被签名并且有必要的修改。

如果您的Java设置启用Java控制台,则控制台立即显示如下当应用程序的JNLP文件被访问时出现Java的“启动应用程序”对话框。但是,在暂停期间控制台中没有看到任何活动(例如,没有典型的Java类加载消息直到暂停之前才出现,并且在“main”方法中没有任何代码执行到暂停之后)。

其中一些应用程序相当大。我们编写的代码约为10-12MB,根据应用程序的不同,其他资源总计在15-20MB之间。

我发现一个听起来非常相似的JDK错误报告bug report 此报告指出,如果在第一次启动之前删除Java缓存,则使用较旧的Java版本会导致即时启动。我报告的问题似乎没有受到Java缓存的影响。恢复到Java 8 Update 77可以在不删除Java缓存的情况下立即启动。

对Java 8更新91 Java的发行说明提到一个bug修复“在固定的小程序启动时间回归”。但是我没有看到任何可能会导致启动过程中长时间停顿的故意改变(例如增加安全扫描等)。

有了这个长度停顿的启动和无以指示某些事情正在发生,我们正在对投诉的应用程序用户的能力。

任何帮助将不胜感激。

UPDATE 2016年7月1日...

我发现这太问题,似乎描述相同的症状:similar issue。但是,它与Java 7 Update 40相关。解决方法是禁用deployment.properties文件中的吊销检查。

我已经使用了Java控制台来设置“不检查”两个“上执行代码签名证书吊销检查”和“关于执行TLS证书吊销检查”。我检查并确保这些更改反映在deployment.properties文件中。但是,这些设置根本不能解决或改进问题。

如果此工作过那将是问题的一大指标,但它不会是一个有用的“解决方案”,有客户关闭这些吊销检查他们的高级设置。对于能够访问我们的许多应用程序的公众来说,这尤其没有帮助。

UPDATE 2016年7月7日...

基于由jaivalis我下载了Java 8更新112 JRE的早期访问发布的评论。当我用这个JRE运行我们的应用程序时,根本没有停顿。应用程序在“正在启动应用程序”对话框关闭后立即运行。

到目前为止,我找不到任何解释为什么会这样的注释。我希望这个“修复”不是没有完全适用于这个早期访问版本的新安全措施的结果。我希望事实上已经得到解决,并且在此版本正式发布时,立即发布的性能将保持不变。

顺便说一句,我无法找到Java 8 Update 112的正式发布日期。我希望它会在7月份发生,但我看到了10月份的一些迹象。任何人都有关于此更新何时可用的信息?

这里是Java 8 Update 112 early access
这里早期访问页面的发布日期的信息,我发现Java 8 Update 112 release timeline

page还提到一个Java 8更新102,但我无法找到该更新的早期版本访问。我找到的任何链接指向112更新。

+1

尝试使用类似strace的内容来查看过程为20-60秒做了些什么。 – mekazu

+1

VisualVM也可能非常有用,具体取决于问题的性质。你能得到一个堆栈转储或配置文件? –

+0

-mekazu我正在运行windows,所以我正在寻找strace或类似的版本试试。 - 史蒂文我刚刚得到了一个线程堆栈转储(Java控制台中的v选项)。我应该添加到我的问题?或者我怎么在这里发布这样的内容,因为它很长(我是这个论坛的全新)? – Rob

回答

1

此问题已在Java 8 update 101发行版中解决(技术上构建为1.8.0_101-b13)。

0

你好,我发现了一些可以帮助你:)

在从Oracle也表示,这是在Java中

的最后一个补丁程序中的错误问题

个人而言,我会找到一个三阶最近的补丁说明党下载Java

这里的早期版本是补丁说明 http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html

链接希望你找到问题!

+0

-Mitchell感谢您的输入,但是这些发行说明引用了Java 8 Update 20,并且在通读它们之后,我没有看到任何对Java Web Start应用程序中的延迟的引用 – Rob

相关问题