Fala, meus consagrados! Tudo beleza com vocês?
Vamos entender as fases por quais uma aplicação passa, desde sua criação até sua execução.
Teoria
São cinco fases por quais passa uma aplicação Java (figura 1):
- Edição;
- Compilação;
- Carregamento;
- Verificação; e
- Execução.
Explicando as duas primeiras fases (figura 2):
- Edição:
- Primeiro, editamos nossas classes;
- Provavelmente utilizaremos uma IDE como NetBeans ou Eclipse;
- Com a edição delas, que são arquivos com extensão .java, as classes são salvas na memória secundária;
- Compilação:
- O compilador irá pegar os arquivos .java, os compilará, gerando os bytecodes, criando assim arquivos com extensão .class;
- Os arquivos .class também são armazenados na memória secundária.
As três últimas fases são (figura 3):
- Carregamento:
- O programa deve ser primeiramente colocado na memória antes de ser executado;
- Isso é feito pelo carregador de classe, que pega o arquivo (ou arquivos) .class que contém os bytecodes e o transfere para a memória;
- Verificação:
- Antes que o interpretador Java execute os bytecodes, eles são verificados pelo verificador de bytecode;
- Isso assegura que os bytecodes são válidos e não violam as restrições de segurança do Java; e
- Execução:
- Finalmente, a JVM lê os bytecodes e os interpreta para uma linguagem que o computador pode entender (linguagem de máquina);
- Possivelmente armazenando valores dos dados enquanto executa o programa.
PULO DO GATO:
Para ajudar a memorizar as fases, podemos usar o mnemômico ECo CaVEx: (E) edição, (Co) compilação, (Ca) carregamento, (V) verificação e (Ex) execução.
Resumo das fases de uma aplicação Java:
- Edição: o programa é criado no editor e armazenado em disco;
- Compilação: o compilador cria bytecodes e os armazena em disco;
- Carregamento: o carregador de classe coloca bytecodes na memória principal;
- Verificação: o verificador de bytecodes confirma que todos os bytecodes são válidos e não violam restrições de segurança de Java; e
- Execução: a JVM lê os bytecodes e os interpreta para uma linguagem que o computador pode entender (linguagem de máquina), possivelmente armazenando valores dos dados enquanto executa o programa.
Questões de concursos
[FGV 2010 CODESP/SP – Analista de Sistemas – Tipo 1] A figura abaixo mostra as cinco fases para execução de programa Java
O processo de execução ocorre da seguinte forma:
- Na edição, o programa é criado no editor e armazenado em disco.
- Na compilação, o compilador gera um PRODUTO e o armazena em disco.
- Na carga, o carregador de classe coloca o PRODUTO na memória.
- Na verificação, o verificador que o PRODUTO é válido e não viola as restrições de segurança do Java.
- Na interpretação, o interpretador lê o PRODUTO e faz a tradução para uma linguagem que o computador pode entender, possivelmente armazenando valores de dados enquanto executa o programa.
Nesse processo, PRODUTO representa o seguinte componente:
[A] bytecode.
[B] framework.
[C] firmware.
[D] framecode.
[E] bytework.
Comentários:
Uma aplicação Java passa pelas seguintes fases:
- Edição: o programa é criado no editor e armazenado em disco;
- Compilação: o compilador cria bytecodes e os armazena em disco;
- Carregamento: o carregador de classe coloca bytecodes na memória principal;
- Verificação: o verificador de bytecodes confirma que todos os bytecodes são válidos e não violam restrições de segurança de Java; e
- Execução: a JVM lê os bytecodes e os interpreta para uma linguagem que o computador pode entender (linguagem de máquina), possivelmente armazenando valores dos dados enquanto executa o programa.
Então, a palavra PRODUTO citada na questão representa os bytecodes, ou seja, letra a.
Gabarito: letra a.
Então é isso!
[]s e até a próxima!
_________________________
Professor Rogerão Araújo