签名的FatJar在运行时非常慢

时间:2017-06-16 12:35:21

标签: java jar jarsigner jar-signing

我有一个相当大的签名FatJar(~150Mb),我只是尝试运行它,结果发现它比无符号的等效运行速度慢得多。我正在使用jdk1.8.0_131(在Mac上)。

我很好奇这是否正常,或者是否有一些提示和技巧可以用来加快速度。

我注意到签名过程实际上是在jar中标记每个单独的条目,而不是将Jar作为一个整体签名。所以我认为这种缓慢是因为类加载器必须验证它试图加载的每个类的签名。

所以我的问题是,有没有办法改变这种行为?我可以以某种方式让类加载器只是验证JAR是否正确签名开始,然后表现得像是无符号JAR一样?

如果没有,我将实施自己的签名/验证机制。只是想确保在我这样做之前我没有遗漏任何东西。

1 个答案:

答案 0 :(得分:0)

这可能是一个java bug。

请参阅here

实际上,签名验证不应对整体性能产生重大影响。

因此,请尝试更新JDK版本。