java 签名的FatJar在运行时非常慢

lc8prwob  于 2023-05-15  发布在  Java
关注(0)|答案(2)|浏览(192)

我有一个相当大的有符号的FatJar(~ 150 Mb),我只是试着运行它,结果发现它比它的无符号等价物运行得慢得多。我使用的是jdk1.8.0_131(在Mac上)。
我很好奇这是否正常,或者是否有一些提示和技巧,我可以用来加快速度。
我注意到,签名过程实际上是对jar中的每个条目进行签名,而不是对整个Jar进行签名。所以我想,慢是由于类装入器必须验证它试图装入的每个类的签名。
所以我的问题是,有没有办法改变这种行为?我是否可以让类装入器以某种方式验证JAR从一开始就被正确地签名,然后就像它是一个未签名的JAR一样?
如果没有,我将实现自己的签名/验证机制。只是想确认一下在我这么做之前我没有错过什么。

zpqajqem

zpqajqem1#

这可能是一个Java bug。
参见here
实际上,签名验证不应对整体性能产生重大影响。
请尝试更新JDK版本。

6jjcrrmo

6jjcrrmo2#

我在调用REST API时有很多慢,请求花费了长达4秒而不是不到一秒。
原因是创建客户端需要花费大量时间。基本上,解决方案是让客户端创建一个单例,然后它又很快了。

相关问题