Я хочу посмотреть, как Java реализует LinkedList. Куда я должен смотреть исходный код?Где я могу увидеть исходный код Sun JDK?
ответ
Здесь:
Установите Java SE Development Kit от http://java.sun.com/javase/downloads/index.jsp.
После установки вы должны найти архив под названием src.zip
в верхней части каталога установки JDK. Исходный код Java находится там.
Файл java/util/LinkedList.java
.
обновление: Вы также можете посетить онлайн OpenJDK Source repository. См. Ниже this answer.
Билл, это не похоже на последнее обновление Java (7u51). Интересно, что такое сделка ... – ryvantage 2014-01-16 00:48:05
Они, похоже, переместили источник JDK в http://hg.openjdk.java.net/jdk7/jdk7/jdk/ – 2014-01-16 01:54:39
Собственно, я понял это. Я загрузил неправильный пакет JDK. =/ – ryvantage 2014-01-16 03:13:44
Я бы сказал, начинайте с OpenJDK repository, но я ничего не вижу для объектов LinkedList.
У вас есть источник в docjar:
LinkedList.java (от openjdk-7)
Как ранее сказал, у вас есть src.zip файл, установленный с Sun JDK, если вы выбрали его во время установки , Кроме того, если вы используете затмение и добавить JDK в список JRE, он присоединит автоматически источники в банке и если вы попытаетесь открыть класс с Ctrl + Сдвиг + T (Open Type), вы набираете LinkedList, и он покажет вам код класса.
Если у вас есть JDK, вы можете найти его в файле src.zip.
Если у вас есть IDE, вы можете просто Ctrl +нажмите или аналогичный по классу/метода вы хотите увидеть определение.
Источники размещены по адресу hg.openjdk.java.net. Источники библиотеки для конкретной версии JDK можно найти в разделе src/share/classes
. Например, источник JDK 8 для java.util.LinkedList расположен по адресу:
hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/classes/java/util/LinkedList.java
Вы можете следовать инструкциям here, чтобы исследовать источник.
grepcode.com имеет исходный код почти всех проектов с открытым исходным кодом. Она также обеспечивает общие функции IDE, как найти использования, производные типов и т.д.
Здесь вы можете найти LinkedList источник: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/LinkedList.java/
Это является исходным кодом JDK, а не виртуальная машины. – peterh 2015-01-23 20:30:58