我想知道使用与用于编译的JDK相同的JRE是否重要。
例如,我用OpenJ9(v12)编译,然后使用Hotspot(v12)运行服务器。
会出现什么样的问题呢?表演呢?
我是不是更喜欢
或者我可以混合- JDK OpenJ9 9/JRE热点- JDK Hotspot/JRE OpenJ9
性能只会受到JRE的影响吗?还是两者兼备?
发布于 2019-08-06 10:21:44
OpenJ9和Hotspot是Java虚拟机的两个实现,JVM反过来又是JDK的一部分。
JDK OpenJ9和JDK热点是用不同的JVM打包的OpenJDK,两者生成的字节码必须是相同的:常见问题。
它们之间的不同之处在于它们是如何运行字节码的,简而言之,有三个不同之处。
性能影响只能通过尝试来确定,这取决于应用程序的性质。
发布于 2019-08-06 17:28:52
您应该期望这两个JDK生成相同的字节码,因为它们都使用来自OpenJDK的相同的java编译器。正如lolacoco所说,由于VM和GC实现的不同,这些差异将出现在运行时。即使您用不同的编译器(例如eclipse中的编译器)生成字节码,该字节码也应该在任何VM上运行。
https://stackoverflow.com/questions/57373198
复制相似问题