Является открытым исходным кодом JVM? Если нет, как я могу получить код JVM?
Является открытым исходным кодом JVM?
Ответ 1
Посмотрите на Javascript Hotspot здесь: http://openjdk.java.net/groups/hotspot/
Ответ 2
Это полностью зависит от того, какой JVM вы используете.
Если вы используете JVM 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 можно найти здесь.
Ответ 3
Основная часть JVM находится в модуле hotspot OpenJDK. Однако то, что вам нужно, скорее всего будет в src.zip.
Модуль "горячих точек", кроме этих классов,
- в основном в С++
- не всегда легко понять. Это улучшилось за эти годы, и новый код имеет тенденцию быть лучше, поскольку они более осведомлены о том, что код будет иметь более широкое потребление.
- часто не то, что вы ищете.
По этой причине, если вы хотите знать, как работает JVM, лучше всего посмотреть на обычно используемые классы. Например, даже что-то такое же низкое, как то, как lambdas действительно работает во время выполнения, в основном в src.zip, не так много в JVM.
Большинство источников для библиотек поставляются с JDK в файле src.zip. Ваша IDE будет использовать это автоматически. Вы гораздо лучше знакомы с классами в этих библиотеках, чем с самим JDK.