Descompactei o arquivo rt.jar que fica na \jre\lib e pude visualizar os diretórios. Em java\lang\ eu visualizo logicamente a classe String. Eu pensei que iria encontrar o código fonte da classe String, mas eu já encontrei diretamente o String.class. Não é possível obter o código fonte das classes que compõem a API do Java?
Você pode usar o Java Decompiler para abrir o arquivo JAR (sem precisar descompactar) e visualizar o código fonte das classes.
Se não me engano, tanto o JDK da Oracle com o OpenJDK trazem um arquivo chamado src.zip que tem todos os .java. É desse local que as IDEs pegam os códigos fontes para exibir durante o debug.
Na minha máquina, o caminho pra chegar nesse zip é:
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/src.zip
Se você estiver usando o Eclipse, é só fazer isso aqui para encontrar onde está esse zip:
Preferences -> Java -> Installed JREs -> [Seleciona um dos JREs instalados] -> Edit -> [Procura e expande o jar chamado rt.jar]
Fiz um arquivo de texto com a estrutura de arquivos dentro desse zip, caso você queira ver:
jdk_src.txt (482,1 KB)
Descompilar um fonte, não te traz informações legíveis sobre a implementação.
Instale o JDK e os fontes estarão disponíveis no arquivo src.zip, na raíz da instalação.
Boa @lvbarbosa, não me lembrava. Na pasta raiz da jdk instalada na minha máquina, tem o src.zip.
Normalmente, vc consegue encontrar código fonte de tudo qualquer coisa no grepcode. Aqui tá o String.java http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/String.java
