簡體   English   中英

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的“啟動應用程序”對話框關閉之后和啟動應用程序之前,會發生此暫停。

暫停的長度似乎與應用程序的大小相關。 恢復到Java 8 Update 77完全消除了暫停,並且這些相同的應用程序在沒有任何暫停的情況下啟動。

我們的應用程序確實請求“所有權限”,因為我們需要讀取/寫入客戶端驅動器的數據以進行緩存。 所以我們所有的罐子都簽了名並進行了必要的清單修改。

如果您的Java設置啟用了Java控制台,則在訪問應用程序的JNLP文件時出現的Java“正在啟動的應用程序”對話框后會立即顯示控制台。 但是,在此暫停期間控制台中沒有看到任何活動(例如,在暫停之后,沒有任何典型的Java類加載消息出現,並且在“main”方法中的任何代碼都沒有執行,直到暫停之后)。

其中一些應用程序相當大。 我們編寫的代碼大約為10-12MB,額外資源總計在15-20MB之間,具體取決於應用程序。

我發現了一個聽起來非常相似的JDK錯誤報告... 錯誤報告此報告指出,如果在第一次啟動之前刪除了Java緩存,則使用較舊的Java版本會導致即時啟動。 我報告的問題似乎沒有受到Java緩存的影響。 恢復到Java 8 Update 77會導致即時啟動而不刪除Java緩存。

Java 8 Update 91的Java發行說明提到了一個錯誤修復“修復Applet啟動時的回歸”。 但我沒有看到任何表明故意改變會導致啟動期間長時間停頓的事情(例如增加安全掃描等)。

由於在啟動時有這么長的暫停,並且無法向用戶表明發生了什么事情,我們會收到有關應用程序的投訴。

任何幫助將不勝感激。

2016年7月1日更新......

我發現這個SO問題似乎描述了相同的症狀: 類似的問題 但是,它與Java 7 Update 40有關。解決方案是禁用deployment.properties文件中的吊銷檢查。

我已經使用Java控制台為“執行簽名代碼證書吊銷檢查”和“執行TLS證書吊銷檢查”設置“不檢查”。 我檢查以確保更改反映在deployment.properties文件中。 但是,這些設置根本不能解決或改善問題。

如果這有效,那將是問題的一個很好的指標,但讓客戶在高級設置中關閉這些撤銷檢查不是一個有用的“解決方案”。 對於可以訪問我們的許多應用程序的公眾來說,這尤其沒有幫助。

2016年7月7日更新......

根據jaivalis的評論,我下載了Java 8 Update 112 JRE的早期訪問版本。 當我用這個JRE運行我們的應用程序時,根本沒有停頓。 應用程序關閉后,應用程序立即運行。

到目前為止,我找不到任何解釋原因的說明。 我希望這個“修復”不是新安全措施的結果,這些措施尚未完全應用於此早期訪問版本。 我希望實際上已經解決了一些事情,並且當這個版本正式發布時,立即啟動性能將保持不變。

順便說一句,我找不到Java 8 Update 112的正式發布日期。我希望它會在7月份發生,但我看到了10月份的一些跡象。 任何人都有關於何時可以獲得此更新的任何信息?

這是Java 8 Update 112早期訪問的早期訪問頁面
這是我發現Java 8 Update 112發布時間表的發布日期信息

頁面還提到了Java 8 Update 102,但我找不到該更新的早期訪問版本。 我找到的任何鏈接都指向112更新。

此問題已通過Java 8更新101版本(技術上構建1.8.0_101-b13)得到解決。

您好我找到了可能對您有幫助的東西:)

在最近的Oracle補丁說明中,它表示這是最后一個Java補丁中的錯誤問題

我個人會找到第三方下載以前的java版本

這是補丁說明的鏈接http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html

希望你找到問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM