Прочитайте чертов исходный код ---- RTFM
Перед исходным кодом нет никаких секретов ---- Хоу Цзе
Этот проект в основном организует/записывает понимание и опыт чтения исходного кода JDK
только для справки.
Проект содержит несколько веток. Основная ветка называется master
, тестовая ветка — test
, а ветка исходного кода/заметок — в честь JDK-X
( X — версия JDK ).
master
ветка время от времени компилирует снимки примечаний к исходному коду и тестового кода.
Ветка JDK-X
хранит исходный код и примечания к JDK
. Примечания, создаваемые в процессе чтения, записываются непосредственно в файл исходного кода в виде комментариев .
В test
ветке хранится тестовый код для облегчения понимания, и его можно запускать напрямую.
OracleJDK
/ OpenJDK
11. Готов к использованию прямо из коробки. Клонируйте/загрузите проект локально и откройте его с помощью IntelliJ IDEA
.
Пожалуйста, переключитесь на ветку JDK-X
при чтении исходного кода, и нет необходимости связывать JDK
.
При тестировании исходного кода переключитесь на test
ветку. На данный момент вам необходимо связать OracleJDK
/ OpenJDK
.
Этот исходный код не поддерживает прямую компиляцию. Если вы хотите полностью скомпилировать весь проект JDK
, обратитесь к официальному руководству «Сборка JDK».
Если исходный код сообщает об ошибке из-за отсутствия отдельных файлов зависимостей, найдите соответствующий jar-пакет в Google и импортируйте его. Или вы можете оставить отзыв о проблемах Github.
Добро пожаловать для обмена хорошими идеями, предложениями и мнениями по вопросам Github.
серийный номер | смайлик | Что это значит в этом проекте | знак сокращения |
---|---|---|---|
(0) | ? | Проект инициализации | :tada: |
(1) | Обновите документацию, включая, помимо прочего, README. | :memo: | |
(2) | Публикуйте новые заметки к прочтению (Примечание 1). | :bulb: | |
(3) | Постепенное обновление заметок о чтении | :sparkles: | |
(4) | ♻️ | Рефакторинг в основном относится к изменению существующих примечаний к чтению. В редких случаях исходный код будет изменен (примечание 2). | :recycle: |
(5) | ✏️ | Корректура в основном подразумевает исправление опечаток, корректировку группировки исходного кода, изменение набора исходного кода и т. д. | :pencil2: |
(6) | ✅ | Публикация тестовых файлов | :white_check_mark: |
Примечание 1:
Чтобы узнать о текущем ходе чтения определенного исходного кода, обратитесь к списку кодов чтения_Сортировка по функциям.
Примечание 2. Сценарии, связанные с изменением исходного кода, включают, помимо прочего:
Измените бессмысленные имена переменных на более понятные имена переменных;
Завершение фигурных скобок в области действия управляющего оператора;
Восстановить структуру операторов управления (например, разделение операторов if и замену операторов for/ while);
Преобразование между циклами for и foreach;
Разделить слишком длинную и трудную для чтения цепочку вызовов и изолировать промежуточные процессы;
Извлечь часто встречающуюся операцию в один метод;
Разделить несколько классов верхнего уровня в одном файле на разные файлы (внутренние классы не разбиваются);
Преобразование между анонимными классами и неанонимными классами;
Преобразование анонимных классов и функциональных выражений;
Преобразование между функциональными вызовами и обычными вызовами;Принцип модификации таков: модифицируйте как можно меньше, не меняя исходную логику кода и результаты обработки (код, включающий многопоточность, немного сбивает с толку).
Цель модификации — улучшить читабельность и облегчить вставку примечаний.
Oracle JDK
OpenJDK
Справочный источник emoji
в информации о фиксации:
Полный список смайлов
гитмоджи