O que acontece na execução de um programa Java?
O código-fonte Java, depois de escrito, passa por quais tratamentos?
O Java é uma linguagem de programação que é compilada pelo compilador Java (JavaC), gera um arquivo bytecode (que é um arquivo intermediário entre o código-fonte e o código de máquina, armazenado em arquivos com extensão .class) e, posteriormente, interpretada dinamicamente pela máquina virtual Java (JVM) da plataforma onde o sistema é executado.
A premissa da linguagem "Write Once Run Anywhere" (Escreva uma vez, execute em qualquer lugar) garante que o bytecode gerado a partir do código-fonte escrito seja executado em qualquer dispositivo que contenha o Java embarcado. A JVM ficará encarregada de interpretar o bytecode e executar em compatibilidade com a arquitetura do dispositivo onde está instalada.
JDK e JRE
Todo dispositivo que vai executar uma aplicação Java deve conter o JRE (Java Runtime Environment) instalado. Ele provê as funcionalidades necessárias para que isso aconteça, dentre elas, a JVM citada anteriormente como a principal ferramenta para interpretar e rodar programas Java.
O desenvolvedor que constrói aplicações Java deve ter o JDK (Java Development Kit) instalado, que é um pacote que contém as mesmas funcionalidades do JRE mais o Java Tools encapsulados.
Ambos devem ser instalados na plataforma usada pelo usuário ou desenvolvedor, selecionando a versão compatível com a mesma.
Nós, na ânsia de aprender os recursos e ferramentas da linguagem, e dominá-los, acabamos não dando a devida atenção para esse processo vital de um programa Java. Por isso é fundamental ter essa curiosidade de entender os porquês de os programas que escrevemos produzem um determinado resultado, e como isso acontece.