我在Stack Overflow上读了一些关于JVM的帖子,想下载Hotspot JVM的二进制副本,但我找不到它在http://www.java.net上。
此外,Hotspot JVM和在Oracle发现的JVM有什么区别?
Oracle JVM适用于生产网站吗?
我在Stack Overflow上读了一些关于JVM的帖子,想下载Hotspot JVM的二进制副本,但我找不到它在http://www.java.net上。
此外,Hotspot JVM和在Oracle发现的JVM有什么区别?
Oracle JVM适用于生产网站吗?
概述:
这个SO问题或许可以解答你对"JVM、Hotspot和OpenJDK是什么"的疑问。
基本上来说:
JVM指的是Java虚拟机。JVM是执行Java字节码的底层运行时。有多种不同的实现,都实现了Java虚拟机规范。
HotSpot是JVM概念中最常用的实现。它被用于Oracle JDK和OpenJDK中。Oracle的JDK可以在oracle网站上下载,目前在http://www.oracle.com/technetwork/java/javase/downloads/index.html。这是"你会在普通用户的Windows机器上找到的典型JVM"。
OpenJDK 是一个开源项目,维护和实现 HotSpot JVM,还有其他许多项目,如 Graal 或 VisualVM。例如,在 Ubuntu 上,您可以通过运行 sudo apt-get install openjdk8
安装此 OpenJDK(当前版本为 8)。
结论:
虽然这个解释并不完美,但足以理解 Oracle JDK 和 OpenJDK 之间没有很大的区别。如果您对此更多信息感兴趣,请查看 SO 问题 Differences between Oracle JDK and Open JDK。
JDK / JVM源代码:
如果您对源代码感兴趣,OpenJDK是一个不错的选择。在这里您可以找到当前的OpenJDK 8(其中包括HotSpot JVM)。其源代码可以在这里找到。它还说明了如何下载源代码:
可以使用以下命令克隆正在进行开发的jdk8u-dev代码库:hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev;cd jdk8u-dev;sh get_source.sh。 可以使用以下命令克隆相应的主代码库jdk8u:hg clone http://hg.openjdk.java.net/jdk8u/jdk8u;cd jdk8u;sh get_source.sh。 此外,通过克隆8u主代码库http://hg.openjdk.java.net/jdk8u/jdk8u并使用'jdk8u66-b17' mercurial标签,可以获取最后一个版本8u66的源代码。