更新
选择http://bugs.sun.com/view_bug.do?bug_id=6857057。我们在JRE 6u17见证了这一点。我如何知道哪个版本的JRE包含此修复程序?互联网上的普遍共识似乎是6u18 - 但我怎么能从bug数据库中说出来呢?它说固定在6u16转,但我不知道'-rev'是什么意思。它还说它仍然影响版本6u18 - 所以是否有一些时间扩张?
注意
最初我假设我需要构建一个较新版本的JDK,所以问我怎么知道哪个版本的JDK包含了修复程序。我已经基于mindas更新了问题,解释了它实际上包含修复的JRE。
答案 0 :(得分:1)
您需要了解静态和动态链接之间的区别。在Java世界中,所有JVM都必须在引用时加载类。换句话说,根据较旧的JDK版本编译的代码没有关于JDK如何实现特定方法的信息。
除非方法签名已更改(从您的bugs.sun.com链接我认为它没有),您不需要重建您的类。即使它有,你也会得到一个不同的错误(类似NoSuchMethodException
)。