3

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

4

3 回答 3

3

我想知道是否可以在不更改代码的情况下进行升级,并在更改后远程调试以修复错误。

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

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

所以我们不能给你一个明确的答案的一个原因是我们不知道你看到了什么警告(呃!)。

另一个原因是我们不知道您的测试套件有多好/广泛。如果你有一个好的测试套件,那么任何问题都会被解决。如果没有,或者如果您依赖手动测试,那么您发现升级导致的任何问题的机会将大大降低。


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


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

于 2013-04-02T12:37:48.190 回答
3

通常的做法是:

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

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

于 2013-04-02T12:32:18.213 回答
1

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

于 2013-04-02T12:33:48.563 回答