2017-06-16 93 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