Processo de Interpretação e Compilação: Entendendo o java de uma forma diferente
Veja neste artigo onde iremos entender o processo de interpretar e compilar no Java!
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
1. Implementando Alô Mundo
Ok, Java configurado, JDK também, agora é hora de pôr a mão na massa. No último artigo nós ficamos na execução do Alô Mundo, isso?
Para que possamos executar um algoritmo no Java (uma classe) é necessário que antes entendamos mais uns ‘conceitozinhos’ do Java (caramba não acaba nunca né? Hehe, guenta aí que tá quase lá!).
1.1. Interpretação e compilaçãoO Java tem dois processos de execução de código fonte. Traduzindo: para rodar algum código no Java precisamos seguir dois passos: a interpretação e a compilação.
Na verdade, nem precisamos fazer muito, já que o próprio Java faz quase tudo. Mas vamos aos números (ou imagens, ôO’):
- Compilação:Analisemos a figura 1:

Figura1: Compilando código java
Quando criamos uma classe Java e a salvamos com a extensão .java, é nada mais nada menos que código Java não inteligível pela JVM. Antes de pedir pra que sua máquina execute o código, este mesmo código precisa estar em linguagem de máquina (óia!!), portanto, compilado!
A JVM não consegue entender código Java, mas sim bytecodes. Ok, agora já tem outra linguagem é? Que nada, bora chamar a mãe de novo, Wikipediaaa:
“Bytecode é o resultado de um processo semelhante ao dos compiladores de código-fonte que não é imediatamente executável.”
Simplificando, é o código gerado quando você compila um arquivo .java (Figura 2).

Figura 2: Compilação Java
Compilemos então... Siga os passos:
1. Lembra da classe AloMundo que criamos no artigo passado? Ok, então abra o bloco de notas e cole o código lá;
2. Salve o arquivo com o mesmo nome da classe (Lembre-se: é necessário que tenha o mesmo nome para que o Java consiga identificar);
3. Abra o cmd e entre na pasta que você salvou a classe. Ex.: Eu salvei minha classe numa pasta “alomundo” no Desktop do meu computador, logo vou proceder assim:

Figura 3: Entrando em pasta para compilar classe
4. Para compilar um arquivo Java use o comando:
javac AloMundo.java
Que significa: ei javacompiler, compile esse arquivo pra mim!
5. Após isso, se sua classe Java não tiver nenhum erro, ele compilará tua classe e criará um novo arquivo ao lado da mesma: o AloMundo.class!! É esse cara que importa pro Java, pois é nele que está o bytecode!
- Interpretação:
Figura 4: Interpretando algo...
O Java também precisa varrer o teu código pra ver se está tudo ok e depois “traduzir” o teu código... “interpretar” o teu código... “fazer com que ele possa ser entendido pela máquina onde ele está sendo executado”: interpretá-lo!
Esse passo é bem simples, basta digitar na linha de comando o seguinte comando:java AloMundo
Esse comando interpretará seu arquivo .class e executará o código no mesmo. A saída esperada será:
Alo Mundo!
2. Concluindo
Quer dizer que toda vez que eu quiser executar qualquer coisa no Java precisarei seguir esse “muído” todinho?
Bem, sim e não! Sim porque o Java precisa fazer este processo todo pra executar código, e não porque, como usaremos uma IDE (o Eclipse) vamos abstrair tudo isso, pois o mesmo faz tudo “por trás dos panos”...
Então, até o próximo!
Ah, e não se esqueça de conferir os dois primeiros artigos da série:
Diogo Souza
Diogo Souza trabalha como Analista de Sistemas Java na Indra Company e já trabalhou em empresas como Instituto Atlântico e Ebix L.A, até fundar a própria empresa 3adiX Tech, da qual é sócio, instrutor e desenvolvedor. É instrutor Android, palestrante em eventos sobre Java e o mundo mobile e consul...
2 COMENTÁRIOS
O meu, assim que dou o comando no prompt de comando: [ java AloMundo ], ele aparece bem rápido e some com a seguinte mensagem:
Não foi possível localizar a classe principal de C:\<...>\Desktop\AloMundo\AloMundo.class
Pode me ajudar colega?
Valeu e seu tutorial está OTIMO!
Velho seguinte, para que você possa executar código em java, você precisa primeiro compilar teu .java antes de tentar fazer o que fez...
Primeiro comando:
javac SuaClasse.java
Segundo comando:
java SuaClasse
E aí funciona, entendeu? ;)



