Является ли JVM открытым исходным кодом? - PullRequest
63 голосов
/ 08 января 2010

Является ли JVM открытым исходным кодом? Если нет, то как я могу получить код JVM?

Ответы [ 4 ]

59 голосов
/ 08 января 2010

Это полностью зависит от того, какую JVM вы используете.

Если вы используете JJM OpenJDK, то вы можете получить исходный код из здесь .
Если вы используете JVM KaffeВы можете получить источник из здесь .
Если вы используете Sun JVM версии 6 или более поздней, то вы можете получить источник из здесь .

Если вы используете Sun JVM ранее, чем 6, то вы часто можете получить источник по академической лицензии.Если вы используете IBM, Oracle, HP или другую JVM, источник не будет открыт.

Обновление май 2013 г.

Доступ к источнику версии 6 по-прежнему возможенпо вышеуказанной ссылке, или к ней можно получить доступ по этой ссылке .Эта последняя ссылка также включает в себя удобную таблицу генеалогия , в которой показано, как версии Oracle JDK и OpenJDK соответствуют друг другу.

Кроме того, может быть установлена ​​более свежая версия источника Java 7.найдено здесь .Это также включает исправления для выпусков Java 7 начиная с GA.

И, ни для кого не удивительно, источники Java 8 можно найти здесь .

32 голосов
/ 08 января 2010

Взгляните на горячую точку JVM здесь: http://openjdk.java.net/groups/hotspot/

0 голосов
/ 13 октября 2018

jvm с открытым исходным кодом отсутствует, даже если бы вы не могли обойти тупое исключение Oracle classpath.Короче говоря, openjdk по-прежнему привязан к схеме, управляемой $$, которая вынуждает вас бороться с коммерческим vm.На самом деле ничем не отличается от Microsoft, вы можете работать с C # независимо от того, что они даже предоставляют бесплатные библиотеки .net, но поддерживают контроль над Visual Studio, что практически заставляет конечного пользователя использовать Windows в качестве выбранной среды.

0 голосов
/ 09 января 2010

Основная часть JVM находится в модуле горячей точки OpenJDK. Однако то, что вам нужно, скорее всего будет в src.zip.

Модуль горячей точки, кроме этих классов, равен

  • в основном на C ++
  • не всегда легко понять. С годами это улучшилось, и новый код, как правило, становится лучше, поскольку они больше знают о том, что код будет иметь более широкое потребление.
  • часто не то, что вы ищете.

По этой причине, если вы хотите знать, как работает JVM, лучше взглянуть на часто используемые классы. Например, даже такой низкий уровень, как то, как лямбды действительно работают во время выполнения, находится в основном в src.zip, а не в JVM.

Большая часть исходного кода для библиотек поставляется с JDK в файле src.zip. Ваша IDE будет использовать это автоматически. Вам гораздо лучше быть знакомым с классами в этих библиотеках, чем играть с самим JDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...