加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用最新的JRE而不是旧的Java版本,我保证它会工作吗?

发布时间:2020-12-14 05:51:02 所属栏目:Java 来源:网络整理
导读:假设我有一个使用 Java 1.5编码的 Java项目,我使用的是较新版本的Java,但将目标设置为1.5. 如果代码使用后来的Java编译和测试OK,那么我可以保证在实际的Java 1.5运行时工作一样吗? 或者,我需要安装一个我依赖的JRE的一个版本吗? JRE中的错误会发生什么?如
假设我有一个使用 Java 1.5编码的 Java项目,我使用的是较新版本的Java,但将目标设置为1.5.

如果代码使用后来的Java编译和测试OK,那么我可以保证在实际的Java 1.5运行时工作一样吗?

或者,我需要安装一个我依赖的JRE的一个版本吗?

JRE中的错误会发生什么?如果1.5中有一个bug,那就是1.6中的错误.如果我使用Java 1.6,目标设置为1.5,那个bug会影响我吗?

在一个现实的情况下,这是我需要拥有的一个问题吗?

解决方法

假设你把目标和目标设置为1.5,你只需要担心三种主要的情况我可以想到:

>你正在使用内部的com.sun类,它可能已经改变或消失了(或者依赖某种其他的内部行为).
>您正在依靠更新版本中修复的越野车行为.
>你遇到了一个向后不兼容的变化(很少,但已知会发生).

What happens with bugs in the JRE? If there is a bug in 1.5,that is fixed in 1.6. If I use Java 1.6 with target set to 1.5,will that bug affect me?

如果错误在库中,那么不会影响你.目标只是真正规定您编译的字节码的版本,您仍然会使用更新的库.如前所述,请注意,如果您依赖这种错误的行为,这可能会导致问题.

如果有一个故意的向后不兼容的变化,那么我所看到的所有情况都将自己编译为编译时错误,而不是运行时错误,所以它们将是微不足道的(通常很容易修复).

在发布之前,我仍然主张在新版本的JVM上进行测试,但实际上,在我的经验中通常不是一个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读