从Java 1.4升级到JAVA 6 SE

我目前正在从JAVA 1.4升级到JAVA 6 SE。 某些方法和类已被弃用,或者由于效率低下而出现大量警告。 我想知道是否可以升级而不对我的代码进行任何更改,并在更改远程调试之后修复错误。 如果有更简单或更有效的方法,请分享。

通常的做法是:

  • 通过新编译器运行代码
  • 修复任何编译错误(在某些极少数情况下可能会感到高兴,例如当您使用单词enum作为标识符时,这是Java 1.5及更高版本的关键字)
  • 执行完整的QA周期以validation您的应用程序是否仍能正常运行

除此之外,您应该考虑升级到Java 7 – Java 6也已经处于生命周期结束阶段 。

我想知道是否可以升级而不对我的代码进行任何更改,并在更改远程调试之后修复错误。

我们不能给你一个明确的是或否。

首先,应该注意的是,大多数弃用和警告都可以忽略。 (有些人告诉你应该尽快修复的事情,但是最糟糕/危险API的最令人震惊的例子早在Java 1.4之前就被弃用了)

因此,我们无法给出明确答案的一个原因是我们不知道您看到了什么警告(呃!)。

另一个原因是我们不知道你的测试套件有多好/多。 如果你有一个好的测试套件,那么任何问题都将被提升的可能性很大。 如果没有,或者如果您依赖于手动测试,那么您发现升级导致的任何问题的机会将大大减少。


另一件需要注意的是,每个主要Java版本的文档都包含有关新版本与上一版本之间不兼容性的部分。 最好至少浏览这些文档,看看突出显示的任何问题是否可能对您的应用程序产生影响。


最后,大多数人发现升级不会导致大量问题。 当然也有例外。 如果你习惯于依赖于实现特定的行为,而不是javadocs所说的话,那就会导致痛苦。

基本上,您可以在Java 6虚拟机上运行Java 1.4代码而无需修改 。 可能已经引入了新API,有效地弃用旧API。 通常,不推荐使用的API的Javadoc应该为您指定应该使用的指针。