小编Mic*_*erg的帖子

打包为jar时,Java反射性能下降

我在这里有一个真正的头脑.我尝试了一切,到处搜寻.它来自我继承了测试JAR的应用程序.

(它由GUI前端和执行实际检查的命令行应用程序组成.GUI通过在自身上启动新的JVM来运行命令行应用程序[java -cp"its.jar"com.different.mainClass].我知道这是一个糟糕的设计,但可能是相关的.)

无论如何,这个程序包含一些嵌套在两个for循环中的反射调用.问题是当应用程序被JAR时,第一次反射调用每次迭代只需要一秒钟.但是当它从类运行时,需要几毫秒.

实际上,这意味着这个命令:

java -jar myjar.jar
Run Code Online (Sandbox Code Playgroud)

需要几个小时

这个命令:

java -cp "...[bunch of jars];myjar.jar" com.myclasses.main
Run Code Online (Sandbox Code Playgroud)

需要几分钟.

正在测试的JAR总是一个罐子.区别仅在于测试应用程序.

我们非常感谢任何想法或途径.谢谢!

java reflection performance jar class

7
推荐指数
1
解决办法
566
查看次数

标签 统计

class ×1

jar ×1

java ×1

performance ×1

reflection ×1