Java 8 Update 91 Web Start 应用程序启动延迟时间长
Java 8 Update 91 Web Start Application Has Long Startup Delay
我们有一组 Java 开发多年的应用程序,这些应用程序通过 Web Start 远程启动。更新到 Java SE 8 Update 91 后,启动过程中有一个非常明显的停顿(20-60 秒,具体取决于应用程序),典型用户没有任何迹象表明正在发生任何事情。此暂停发生在 Java 的 "Starting Application" 对话框关闭之后和应用程序启动之前。
暂停的长度似乎与应用程序的大小相关。恢复到 Java 8 更新 77 完全消除了暂停,并且这些相同的应用程序开始时没有任何暂停。
我们的应用程序确实请求 "all-permissions",因为我们需要 read/write 数据到客户端的驱动器以进行缓存。因此,我们所有的罐子都已签名并进行了必要的清单修改。
如果您的 Java 设置启用了 Java 控制台,那么当应用程序的 JNLP 文件是访问过。但是,在此暂停期间,控制台中没有看到 activity(例如,典型的 Java class 加载消息的 none 直到暂停后才会出现 none我们在 "main" 方法中的代码一直执行到暂停之后)。
其中一些应用程序相当大。我们编写的代码大约为 10-12MB,根据应用程序的不同,附加资源总计在 15-20MB 之间。
我发现了一个 JDK 听起来非常相似的错误报告... bug report
该报告指出,如果 Java 缓存在第一次启动之前被删除,则使用较旧的 Java 版本会导致即时启动。我报告的问题似乎不受 Java 缓存的影响。恢复到 Java 8 Update 77 会导致即时启动而不删除 Java 缓存。
Java 8 更新 91 的 Java 发行说明提到了错误修复 "Regression in Applet startup time fixed"。但我没有看到任何表明有意更改会导致启动期间长时间暂停的内容(例如增加安全扫描等)。
由于启动时的暂停时间如此之长,而且无法向用户表明正在发生某些事情,我们收到了有关应用程序的投诉。
如有任何帮助,我们将不胜感激。
2016 年 7 月 1 日更新...
我发现这个 SO 问题似乎描述了相同的症状:similar issue。但是,它与 Java 7 Update 40 有关。解决方案是在 deployment.properties 文件中禁用吊销检查。
我已经使用 Java 控制台为 "Perform signed code certificate revocation checks on" 和 "Perform TLS certificate revocation checks on" 设置了 "Do not check"。我检查以确保更改反映在 deployment.properties 文件中。但是,这些设置根本无法解决或改善问题。
如果这有效,那将是一个很好的问题指示器,但让客户在其高级设置中关闭这些吊销检查没有用处 "solution"。对于可以访问我们的许多应用程序的一般 public 尤其没有帮助。
2016 年 7 月 7 日更新...
根据 jaivalis 的评论,我下载了 Java 8 Update 112 JRE 的早期访问版本。当我 运行 我们的应用程序使用这个 JRE 时,根本没有停顿。 "Starting Application" 对话框关闭后 运行 应用程序立即关闭。
到目前为止,我找不到任何注释来解释为什么会这样。我希望这 "fix" 不是未完全应用于此早期访问版本的新安全措施的结果。我希望某些事情实际上已经得到解决,并且当此版本正式发布时,立即启动性能将保持不变。
顺便说一句,我找不到 Java 8 Update 112 的正式发布日期。我希望它会在 7 月发布,但我看到了 10 月的一些迹象。有人知道此更新何时普遍可用吗?
这是 Java 8 Update 112 early access
的抢先体验页面
这是我找到的发布日期信息 Java 8 Update 112 release timeline
此 page 还提到了 Java 8 更新 102,但我找不到该更新的早期访问版本。我找到的任何链接都指向 112 更新。
你好,我找到了一些可能对你有帮助的东西:)
在 Oracle 最近的补丁说明中,它指出这是 Java
的最后一个补丁中的错误问题
我个人会找第三方下载以前版本的java
这是 link 补丁说明
http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html
希望您能找到问题所在!
此问题已通过 Java 8 update 101 版本(技术上构建 1.8。0_101-b13)得到解决。
我们有一组 Java 开发多年的应用程序,这些应用程序通过 Web Start 远程启动。更新到 Java SE 8 Update 91 后,启动过程中有一个非常明显的停顿(20-60 秒,具体取决于应用程序),典型用户没有任何迹象表明正在发生任何事情。此暂停发生在 Java 的 "Starting Application" 对话框关闭之后和应用程序启动之前。
暂停的长度似乎与应用程序的大小相关。恢复到 Java 8 更新 77 完全消除了暂停,并且这些相同的应用程序开始时没有任何暂停。
我们的应用程序确实请求 "all-permissions",因为我们需要 read/write 数据到客户端的驱动器以进行缓存。因此,我们所有的罐子都已签名并进行了必要的清单修改。
如果您的 Java 设置启用了 Java 控制台,那么当应用程序的 JNLP 文件是访问过。但是,在此暂停期间,控制台中没有看到 activity(例如,典型的 Java class 加载消息的 none 直到暂停后才会出现 none我们在 "main" 方法中的代码一直执行到暂停之后)。
其中一些应用程序相当大。我们编写的代码大约为 10-12MB,根据应用程序的不同,附加资源总计在 15-20MB 之间。
我发现了一个 JDK 听起来非常相似的错误报告... bug report 该报告指出,如果 Java 缓存在第一次启动之前被删除,则使用较旧的 Java 版本会导致即时启动。我报告的问题似乎不受 Java 缓存的影响。恢复到 Java 8 Update 77 会导致即时启动而不删除 Java 缓存。
Java 8 更新 91 的 Java 发行说明提到了错误修复 "Regression in Applet startup time fixed"。但我没有看到任何表明有意更改会导致启动期间长时间暂停的内容(例如增加安全扫描等)。
由于启动时的暂停时间如此之长,而且无法向用户表明正在发生某些事情,我们收到了有关应用程序的投诉。
如有任何帮助,我们将不胜感激。
2016 年 7 月 1 日更新...
我发现这个 SO 问题似乎描述了相同的症状:similar issue。但是,它与 Java 7 Update 40 有关。解决方案是在 deployment.properties 文件中禁用吊销检查。
我已经使用 Java 控制台为 "Perform signed code certificate revocation checks on" 和 "Perform TLS certificate revocation checks on" 设置了 "Do not check"。我检查以确保更改反映在 deployment.properties 文件中。但是,这些设置根本无法解决或改善问题。
如果这有效,那将是一个很好的问题指示器,但让客户在其高级设置中关闭这些吊销检查没有用处 "solution"。对于可以访问我们的许多应用程序的一般 public 尤其没有帮助。
2016 年 7 月 7 日更新...
根据 jaivalis 的评论,我下载了 Java 8 Update 112 JRE 的早期访问版本。当我 运行 我们的应用程序使用这个 JRE 时,根本没有停顿。 "Starting Application" 对话框关闭后 运行 应用程序立即关闭。
到目前为止,我找不到任何注释来解释为什么会这样。我希望这 "fix" 不是未完全应用于此早期访问版本的新安全措施的结果。我希望某些事情实际上已经得到解决,并且当此版本正式发布时,立即启动性能将保持不变。
顺便说一句,我找不到 Java 8 Update 112 的正式发布日期。我希望它会在 7 月发布,但我看到了 10 月的一些迹象。有人知道此更新何时普遍可用吗?
这是 Java 8 Update 112 early access
的抢先体验页面
这是我找到的发布日期信息 Java 8 Update 112 release timeline
此 page 还提到了 Java 8 更新 102,但我找不到该更新的早期访问版本。我找到的任何链接都指向 112 更新。
你好,我找到了一些可能对你有帮助的东西:)
在 Oracle 最近的补丁说明中,它指出这是 Java
的最后一个补丁中的错误问题我个人会找第三方下载以前版本的java
这是 link 补丁说明 http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html
希望您能找到问题所在!
此问题已通过 Java 8 update 101 版本(技术上构建 1.8。0_101-b13)得到解决。