Java 将应用程序从JRE 5转移到JRE 8是否存在任何风险?

Java 将应用程序从JRE 5转移到JRE 8是否存在任何风险?,java,Java,我想将一个web应用程序从JRE 5传输到8。我知道JRE是向后兼容的。那是不是意味着我根本不需要担心?我不确定传输是否绝对安全,或者可能会出现一些意外问题(如性能问题)。Java是向后兼容的,但新版本的Java可能会存在安全问题。是的,在早期阶段肯定会有风险,这可能需要彻底的测试。您还需要确保,如果您的所有其他依赖项、框架、服务器等都支持JRE 8 举几个例子 - Weblogic Server does not yet support JRE 8 - In Eclipse you won't

我想将一个web应用程序从JRE 5传输到8。我知道JRE是向后兼容的。那是不是意味着我根本不需要担心?我不确定传输是否绝对安全,或者可能会出现一些意外问题(如性能问题)。

Java是向后兼容的,但新版本的Java可能会存在安全问题。

是的,在早期阶段肯定会有风险,这可能需要彻底的测试。您还需要确保,如果您的所有其他依赖项、框架、服务器等都支持JRE 8

举几个例子

- Weblogic Server does not yet support JRE 8
- In Eclipse you won't find the compiler level 1.8, easily after setting JRE to 8. You may need to do work around by installing some plugins.

当所有工具都支持它时,它可能只需要很少的时间。

而且新版本也可能会解决安全问题!什么样的安全问题?你能给我举一些例子吗?现代JRE需要签名罐之类的东西。几年前,我有一个小程序工作得很好,但突然停止了工作,因为它没有签名…它基本上是向后兼容的,但随着一些bug得到修复,行为会发生变化。因此,使用Java 5编译的代码可能不是使用Java 8编译的,或者可能具有不同的行为。如果不进行真正的分析,就无法知道代码中有哪些内容可能会或可能不会中断。我说试试看。@assylias在我看来,向后兼容意味着用Java5编写的代码将完全用8编译。你能给我一个关于你所说的不同行为的例子吗?@Dodd10x我的应用程序是一个在线服务器。我想确保传输是完全安全的,并且逐个测试可能会花费大量时间。@assylias在迁移过程中,代码绝对有可能不编译。我亲眼看到的是,我们在Java5中实现了
java.sql.ResultSet
。这个接口在Java 6中添加了额外的方法-因此我们的实现没有实现接口中的所有方法(并且不是抽象的),这在Java 6中是一个编译错误。