我想知道使用与用于编译的JDK相同的JRE是否重要。
例如,我使用OpenJ9(V12(编译,然后使用热点(V12(运行服务器。
可能出现什么样的问题?表现呢?
我应该喜欢
- JDK OpenJ9/jre OpenJ9
- JDK热点/JRE热点
我可以混合 -JDK OpenJ9/JRE热点 -JDK热点/jre OpenJ9
性能仅受JRE的影响?或两者?
OpenJ9和热点是2的Java Virtual Machine(JVM(,JVM依次是JDK
的一部分JDK OpenJ9和JDK热点装有不同的JVM,必须两者都会生成相同的字节:oj9_faq
它们之间的不同是它们如何运行字节码,简而言之,有3种差异
- 命令行选项
- 垃圾控制器政策
- 使用com.sun.sun.management Interfaces 的代码
移动到openjdk-with-with-eclipse-openj9
性能影响只能通过尝试确定,这取决于您应用程序的性质。
您应该期望两个JDK生成相同的字节码,因为它们都使用OpenJDK的同一Java编译器。正如Lolacoco所说,由于VM和GC实现的不同,这些差异将在运行时。即使您使用其他编译器(例如Eclipse IDE中的一个(生成了字节码,该字节码应在任何VM上运行。