<aside> <img src="notion://custom_emoji/6a9f75af-b090-4ac1-9370-a797e429cd85/12c39bc1-c32f-80fa-b777-007a474b0a18" alt="notion://custom_emoji/6a9f75af-b090-4ac1-9370-a797e429cd85/12c39bc1-c32f-80fa-b777-007a474b0a18" width="40px" />
DescriçãoJava é uma linguagem de programação de propósito geral, orientada a objetos, que se destaca pela sua portabilidade e robustez. Criada na década de 1990, Java é projetada para ser executada em qualquer dispositivo que tenha a Java Virtual Machine (JVM), permitindo que o código escrito uma vez seja executado em qualquer lugar, seguindo o princípio "write once, run anywhere". Com uma vasta biblioteca padrão e uma rica ecossistema de frameworks, Java é amplamente utilizado em desenvolvimento web, aplicativos móveis (especialmente Android), sistemas corporativos e software de grande escala. Sua forte tipagem, gerenciamento automático de memória e segurança tornam Java uma escolha confiável para aplicações críticas, consolidando sua popularidade no mercado de tecnologia.
</aside>
BytecodeÉ o código de máquina que roda em qualquer máquina através da Máquina Virtual Java (JVM)
O texto contendo código escrito em linguagem Java é traduzido em bytecode através do processo de compilação e armazenado em um arquivo *.class chamado de Classe Java
Máquina Virtual Java (JVM)A forma de execução de uma aplicação depende

Class Loader e CLASSPATHPrimeira tarefa executada pela JVM: carregamento das classes necessárias para rodar a aplicação. O Class Loader.
$JAVA_HOME/jre/lib/ext e classes em $JAVA_HOME/jre/lib/classes.CLASSPATH: variável de ambiente local que contém todos os caminhos locais onde o Class Loader pode localizar classes
A CLASSPATH é lida depois, logo, suas classes nunca substituem as classes do JRE (não é possível tirar classes JRE do CLASSPATH)