代码在java 7u55上比以前的版本运行得慢得多?

时间:2014-04-19 01:39:38

标签: java performance

我有一个从jar文件运行的java应用程序。我有一个用户将他的mac升级到java 7u55,并说应用程序现在运行速度比以前慢得多。我不知道他以前安装过哪个版本的Java。我相信jar文件是使用7u51 JDK生成的。知道为什么会这样吗?可能有助于使用较新的Java版本重新编译应用程序吗?

1 个答案:

答案 0 :(得分:1)

重新编译不太可能有任何区别。 javac字节码编译器执行最小化优化,并且极不可能从一个次要版本更改为下一个版本。聪明的优化工作都是由JIT编译器完成的......这是用户运行的JRE的一部分。


一般来说,不可能说出导致这种放缓的原因:

  • 可能是JVM。

  • 这可能是您申请中的内容。

  • 可能是用户现在正在使用您的应用程序来解决更大或质量上不同的问题。

  • 它可能是"外部&#34 ;;例如用户已在不同的文件系统上重新安装了您的软件,或者(可能是在不知不觉中)在Mac上运行了更多会导致额外资源争用的内容。

  • 这可能是您用户的想象力。 (是啊......)


那你能做什么?

首先,我认为您需要重现用户当前的设置,运行他的问题,并查看您的应用程序是否为您执行相同的操作。如果没有,那么您需要访问用户的机器以找出/上面的错误。

其次,尝试在用户设置/问题的背景下对您的应用程序进行概要分析。再生系统。

如果你没有合适的硬件,你会陷入困境......但至少你有理由不能进一步帮助用户。