我问题的动机很简单:不幸的是,Oracle停止了Java 6的开发,并且不会提供任何额外的构建。如果Oracle发现任何安全问题,他们只会在Java 7中修复它。我们有一个用Java 6开发的大型项目,而我没有资源将它转换为Java 7。
因此,我希望在JDK 6 (6u45)的最后构建中编译代码,并在JDK 7的大多数更新版本中运行它。
在这种情况下,我的字节码是否对JDK 7中修复的漏洞开放?
已添加
Oracle关键修补程序更新示例:http://www.oracle.com/technetwork/topics/security/javacpuapr2013-1928497.html
不幸的是,下一个安全补丁将不会应用于JDK 6。
因此,更新后的问题是:是否应该使用最新的JRE 7运行代码而不重新编译Java 6字节代码?或者我应该使用最新的JDK重新编译我的代码,并使用最新的JRE运行它?
发布于 2013-08-21 17:55:59
如果漏洞位于虚拟机或API中,则如果使用Java 7运行该漏洞,则不会打开该漏洞。如果该漏洞在编译器中,则可以通过使用Java 7进行编译来修复该漏洞。
https://stackoverflow.com/questions/18364418
复制相似问题