2011-05-23 125 views
1

我使用的是在Oracle JVM(内部版本1.6.0_07-b06)之上的Tomcat 6中运行的Java应用程序。这个JVM现在已经有2年的历史了,我认为升级到更新的版本(例如build 1.6.0_25-b06)将是一个好主意。是否值得从Oracle JVM 1.6.0_07升级到更新版本?

升级JVM会对我的应用程序的性能或稳定性产生很大影响吗?有没有JVM构建之间可能的性能差异的良好基准?是否有任何有关新功能的优秀书写以及它们的意义? This page显示了所有更新并描述了新功能,但没有说明我应该关心哪些功能。

+0

如果这是使用SSL/TLS的面向公众的服务器,建议使用更新版本22或更高版本。 – 2011-05-23 09:02:24

+1

另外:严格地说,你会从** Sun ** JVM 1.6.0_07升级到更新的** Oracle ** JVM ;-) – 2011-05-23 09:10:52

回答

3

已经有许多安全修复程序在此时间范围内。因此,如果这是一个面向公众的服务器(或者甚至是一个拥有大量用户的可访问的Intranet服务器),那么这就足以成为升级到最新版本的理由。

话虽如此:更新版本中的主要性能改进在Oracle JVM中很少见。虽然总会有一些小的改进,但主要更新通常会在主要版本中结束。

Java 6 Update 10是一个例外,因为它包含了一些半主要的变化。

我的建议:更新。 工作在更积极的升级计划。

+0

热点本身已经在过去几年中走过了很长的路(从今天的6u7到hs20的hs10),我们已经看到了显着的性能提升(例如在6u6和6u21之间约为30%,例如) – Matt 2011-05-23 11:09:26

+0

@Matt:的确如此?说实话,我没有一个可以轻松比较的代码库,因为我工作的大多数项目都与Java版本一起发展,所以性能没有直接可比性。 – 2011-05-23 11:10:34

3

当然。这很可能会提高性能并解决安全问题和其他错误。

它总是有可能产生负面影响,所以只要确保您保持当前的Java安装,以便您可以恢复它有问题。

...但不说清楚哪些功能我应该关心

是的很好,它不是一个真正甲骨文的责任,告诉你怎么关心:-)

严重的是,与您相关的问题将取决于您的应用程序。发布说明假定你是一名专业人员,能够对这些事情做出自己的判断。 (其中包括在您的测试平台上尝试并测量任何性能变化。)

+0

你有一个公平的观点。然而,update 14添加了DoEscapeAnalysis选项,听起来很不错,但如果Oracle引用了一些关于它可以做出什么区别的数字或者更详细地说明了它的有用时间,那将会更加令人印象深刻。 – mchr 2011-05-23 09:24:24

+0

@mchr - 真正重要的唯一数字就是*您的应用程序* ......并且Oracle无法以任何确定性的水平预测这些数字。如果你关心它,你可以通过启用和禁用逃逸分析来做你自己的基准测试。 AFAIK,它默认是禁用的。 – 2011-05-23 09:30:52