2017-06-16 92 views
0

我有一個相當大的簽名FatJar(〜150Mb),我只是試着運行它,事實證明它的運行速度遠遠低於它的無符號等價物。我使用的是jdk1.8.0_131(在Mac上)。有簽名的FatJar在運行時真的很慢

我很好奇這是否正常,或者是否有一些技巧和竅門可以用來加快速度。

我注意到簽名過程實際上在jar中籤名每個單獨的條目,而不是整個簽署Jar。所以我想象慢速是由於類加載器必須驗證它嘗試加載的每個類的簽名。

所以我的問題是,有沒有辦法改變這種行爲?我可以以某種方式獲得類加載器,只需驗證JAR是否已正確簽名,然後表現得如同它是未簽名的JAR一樣?

如果不是,我會執行我自己的簽名/驗證機制。只是想確保在我這樣做之前我沒有失去任何東西。

+0

你在哪個Java版本上運行jar? –

+0

剛剛更新了該信息的問題。在Mac上使用jdk1.8.0_131。 – StFS

回答

0

這可能是一個java錯誤。

here

實際簽名驗證不應該對整體性能有顯著的影響。

因此請嘗試更新JDK版本。

+0

謝謝,不幸的是,它並不像我這樣。我們使用JDK 1.8(jdk1.8.0_131)。我會更新我的問題來記錄這一點。 – StFS