是JVM开源代码?

是JVM开源代码? 如果没有,我怎样才能得到JVM的代码?

看看这里的热点JVM: http : //openjdk.java.net/groups/hotspot/

这完全取决于您使用的是哪个JVM。

如果您使用OpenJDK JVM,那么您可以从这里获取源代码。
如果你使用Kaffe JVM,你可以从这里获得源代码。
如果您使用Sun JVM版本6或更高版本,则可以从此处获取源代码。

如果您使用的是早于6的Sun JVM,那么您通常可以根据学术许可获得源代码。 如果您使用IBM,Oracle,HP或其他JVM,则源代码不会打开。

更新2013年5月

版本6的源码仍然可以通过上面的链接访问,或者可以通过此链接访问。 后一个链接还包括一个方便的族谱表,显示了Oracle JDK和OpenJDK版本如何相互匹配。

另外,可以在这里find更新的Java 7源代码版本。 这也包括自GA以来Java 7发行版的修复。

而且,任何人都不会感到意外的是,Java 8的资源可以在这里find。

JVM的核心部分在OpenJDK的热点模块中。 但是,你需要的是更可能在src.zip。

除了这些类别的热点模块是

  • 大多数在C ++中
  • 不总是容易理解。 多年来,这一点已经有所改善,新代码往往会更好,因为他们更清楚代码将会有更广泛的消费。
  • 往往不是你在找什么。

因为这个原因,如果你想知道JVM如何运行,最好看一下常用的类。 例如,甚至像lambda在运行时真正起作用的低级别的东西,大部分都是在src.zip中,JVM中并不多。

这些库的大部分源代码都在src.zip文件中包含JDK。 您的IDE将自动使用它。 与使用JDK本身相比,熟悉这些库中的类要好得多。