我们知道JVM实现是特定于操作系统的(Windows / Linux / Solaris等)。我想深入研究一下,即我们是否为不同的Windows操作系统版本提供了不同的JVM实现?
实施例: JVM-Implementation-For-Win-XP是否与JVM-Implementation-For-Win-8相同?
答案 0 :(得分:4)
JVM-Implementation-For-Win-XP是否与JVM-Implementation-For-Win-8相同?
是和否。他们大多使用相同的代码库,但这里和那里存在一些差异。例如,Windows XP没有正确的双模ipv4 / ipv6套接字,所以有 - 如果我没记错的话 - 在XP下每个Java NIO套接字使用两个本机套接字的一些特殊处理,这在较新的Windows版本中是不必要的。
但是这些差异相对较小,可以在运行时检测到它们,并且可以使用适当的代码路径。
您对"实施的看法"太单一,对于某些组件可能有单独的实现 而没有 JVM作为一个整体的单独实现。
跨平台共享JVM的许多部分。
甚至有一个项目有一个易于端口的JVM子集,基本上是可移植的C / C ++和零装配,因此名称为:Project Zero
另请注意Oracle / OpenJDK Hotspot JVM is not the only player in town。
答案 1 :(得分:0)
Quoting from Oracle,JVM对于所有版本的Windows都是相同的,只有不同之处在于架构
即32位或64位。但他们停止为Windows-XP提供保证
Microsoft已停止通过 2014年4月8日提供更新。。
答案 2 :(得分:0)
JVM与平台无关。所以,答案是肯定的。但正如Arunesh所说,架构有点不同。