Leia a porra do código-fonte ---- RTFM
Na frente do código-fonte, não há segredos ---- Hou Jie
Este projeto organiza/registra principalmente a compreensão e a experiência de leitura do código-fonte JDK
, apenas para referência.
O projeto contém várias ramificações. A ramificação principal é denominada master
, a ramificação de teste é denominada test
e a ramificação do código-fonte/notas é nomeada após JDK-X
( X é a versão do JDK ).
O branch master
ocasionalmente compila instantâneos de notas de código-fonte e código de teste.
A ramificação JDK-X
armazena o código-fonte e as notas JDK
. As notas geradas durante o processo de leitura são escritas diretamente no arquivo de código-fonte na forma de comentários .
A ramificação test
armazena código de teste para auxiliar na compreensão e pode ser executada diretamente.
OracleJDK
/ OpenJDK
11 Pronto para usar assim que sai da caixa. Clone/baixe o projeto localmente e abra-o com IntelliJ IDEA
.
Mude para a ramificação JDK-X
ao ler o código-fonte e não há necessidade de associar JDK
.
Ao testar o código-fonte, mude para o branch test
. Neste momento, você precisa associar OracleJDK
/ OpenJDK
.
Este código-fonte não oferece suporte à compilação direta. Se você deseja compilar completamente todo o projeto JDK
, consulte o tutorial oficial Construindo o JDK.
Se o código-fonte relatar um erro devido à falta de arquivos de dependência individuais, pesquise o pacote jar relevante no Google e importe-o. Ou você pode deixar comentários sobre problemas do Github.
Bem-vindo para trocar boas ideias, sugestões e opiniões sobre questões do Github.
número de série | emoticons | O que isso significa neste projeto | marca abreviada |
---|---|---|---|
(0) | ? | Inicializar projeto | :tada: |
(1) | Atualizar a documentação, incluindo, mas não se limitando a README | :memo: | |
(2) | Publicar novas notas de leitura (Nota 1) | :bulb: | |
(3) | Atualização incremental de notas de leitura | :sparkles: | |
(4) | ♻️ | A refatoração refere-se principalmente à modificação das notas de leitura existentes. Em casos raros, o código-fonte será modificado (Nota 2). | :recycle: |
(5) | ✏️ | A revisão refere-se principalmente à correção de erros de digitação, ajuste do agrupamento do código-fonte, modificação da composição do código-fonte, etc. | :pencil2: |
(6) | ✅ | Publicar arquivos de teste | :white_check_mark: |
Nota 1:
Para o progresso de leitura atual de um determinado código-fonte, consulte Read Code List_Sort by Function.
Nota 2: Os cenários que envolvem modificação do código-fonte incluem, mas não estão limitados a:
Modifique nomes de variáveis sem sentido para nomes de variáveis mais compreensíveis;
Preenchimento de chaves no escopo da instrução de controle;
Reconstruir a estrutura da instrução de controle (como a divisão de instruções if e a troca de for/while);
Conversão entre loop for e loop foreach;
Divida a cadeia de chamadas que é muito longa e difícil de ler e isole os processos intermediários;
Extraia uma operação que ocorre frequentemente em um único método;
Divida várias classes de nível superior em um arquivo em arquivos diferentes (as classes internas não são divididas);
Conversão entre classes anônimas e classes não anônimas;
Conversão de classes anônimas e expressões de funções;
Conversão entre chamadas funcionais e chamadas ordinárias;O princípio da modificação é: modificar o mínimo possível sem alterar a lógica do código original e os resultados da execução (código envolvendo multi-threading é um pouco confuso)
O objetivo da modificação é melhorar a legibilidade e facilitar a inserção de notas
OracleJDK
OpenJDK
Fonte de referência do emoji
nas informações do commit:
Lista completa de emojis
gitmoji