JVM是开源的吗?如果没有,我如何获得JVM的代码?
发布于 2010-01-08 15:29:30
在这里看看hotspot JVM:http://openjdk.java.net/groups/hotspot/
发布于 2010-01-08 16:38:41
这完全取决于您使用的JVM。
如果您使用的是OpenJDK JVM,那么可以从here获得源代码。
如果您使用Kaffe JVM,您可以从here获得源代码。
如果您使用Sun版本6或更高版本,那么可以从here获取源代码。
如果您使用的是早于6的Sun JVM,那么您通常可以在学术许可下获得源代码。如果使用IBM、Oracle、HP或其他JVM,则源代码未打开。
更新2013年5月
版本6的源代码仍然可以通过上面的链接访问,或者可以通过this link访问。后一个链接还包括一个方便的系谱表,该表显示了Oracle JDK和OpenJDK版本如何相互匹配。
此外,可以在here上找到Java7源代码的更新版本。这还包括自正式发布以来Java 7版本的修复。
对任何人来说,Java8的源代码都可以在here上找到,这一点都不奇怪。
发布于 2010-01-09 21:20:05
JVM的核心部分是OpenJDK的hotspot模块。然而,您需要的更多的是src.zip。
这些类之外的hotspot模块是
因此,如果您想知道JVM是如何运行的,最好查看常用的类。例如,即使是像lambda在运行时如何真正工作这样的低级别的东西也主要在src.zip中,在JVM中也没有太多。
这些库的大部分源代码都在src.zip文件中随JDK一起提供。您的IDE将自动使用它。与使用JDK本身相比,熟悉这些库中的类要好得多。
https://stackoverflow.com/questions/2026093
复制相似问题