Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MIC_DUARTE

[Resolvido] Curso Java - Introdução

Recommended Posts

Os programas em Java, em geral, passam por cinco fases:

 

- Edição;

- Compilação;

- Carga;

- Verificação;

- Execução.

 

A Fase 1 consiste em editar um arquivo com um programa editor (em geral, conhecido como editor). Você digita um programa Java (normalmente, conhecido como código-fonte) utilizando o editor, faz quaisquer correções necessárias e salva o programa em um dispositivo de armazenamento secundário, como sua unidade de disco. Nomes de arquivo de código-fonte Java terminam com a extensão .java, que indica que um arquivo contém código-fonte Java.

 

Dois editores amplamente utilizados em sistemas UNIX/Linux são: vi e emacs. No Windows, um simples programa de edição, como Bloco de Notas, bastará.

 

Para organizações que desenvolvem sistemas de informações substanciais, ambientes de desenvolvimento integrado (IDEs- Integrated Development Environments) estão disponíveis a partir de muitos fornecedores de softwares importantes, inclusive a Sun Microsystems. Os IDEs fornecem muitas ferramentas que suportam o processo de desenvolvimento de software, incluindo editores para escrever e editar programas e depuradores para localizar erros de lógica em programas.

 

Alguns exemplos de IDEs:

 

NetBeans;

Eclipse;

jEdit;

JBuilder;

JCreator;

BlueJ;

jGRASP;

Sun Java Studio;

 

Compilando um programa Java em bytecodes

 

Na Fase 2, o programador utiliza o comando javac (o compilador Java) para compilar um programa.

 

Por exemplo:

 

Para compilar um programa chamado Welcome.java, você digitaria:

javac Welcome.java

na janela de comando do sistema (prompt do MS-DOS no Windows 95/98/ME, o prompt de comando no Windows NT/2000/XP, o prompt do shell no UNIX/Linux ou o aplicativo Terminal no Mac OS X). Se o programa compilar, o compilador produz um arquivo .class chamado Welcome.class, que contém a versão compilada do programa.

 

O compilador Java converte o código-fonte Java em bytecodes, que representam as tarefas a serem realizadas durante a fase de execução (Fase 5).

Os bytecodes são executados pela Java Virtual Machine (JVM) - uma parte do JDK e a base da plataforma Java.

A máquina virtual (VM - Virtual Machine) é um aplicativo de software que simula um computador, mas oculta o sistema operacional e o hardware subjacentes dos programas que interagem com a VM. Se a mesma VM for implementada nas várias plataformas de computador, os aplicativos que ela executa podem ser utilizados em todas essas plataformas. A JVM é uma das máquinas virtuais mais amplamente utilizadas.

 

Ao contrário da linguagem de máquina, que é dependente do hardware específico, os bytecodes são instruções independentes de plataforma - eles não são dependentes de uma plataforma de hardware particular, eles são portáteis - isto é, os mesmos bytecodes podem executar em qualquer plataforma contendo uma JVM, que entende a versão do Java em que os bytecodes foram compilados. A JVM é invocada pelo comando java.

 

Por exemplo, ao executar um aplicativo Java chamado Welcome, você digitaria o comando

java Welcome

em uma janela de comando para invocar a JVM, que então iniciaria os passos necessários para executar o aplicativo. Isso inicia a Fase 3.

 

Fase 3: Carregando um programa na memória

 

Na Fase 3, o programa deve ser colocado na memória antes de poder executar - um processo conhecido como carga. O carregador de classe transfere os arquivos .class contendo os bytecodes do programa para a memória principal. O carregador de classe também carrega qualquer arquivo .class fornecido pelo Java que seu programa utiliza.

 

Os arquivos .class podem ser carregados a partir de um disco em seu sistema ou em uma rede (por exemplo, da sua universidade ou faculdade local ou da rede corporativa ou da Internet).

 

Fase 4: Verificação de bytecode

Na Fase 4, enquanto as classes são carregadas, o verificador de bytecode examina seus bytecodes para assegurar que eles são válidos e não violam restrições de segurança do Java.

O Java impõe uma forte segurança para certificar-se de que os programas Java que chegam pela rede não danificam os arquivos ou sistema (como vírus e vermes de computador).

 

Fase 5: Execução

 

Na Fase 5, a JVM executa os bytecodes do programa, realizando assim as ações especificadas pelo programa.

 

Nas primeiras versões do Java, a JVM era simplesmente um interpretador para bytecodes Java. Isso fazia com que a maioria dos programas Java executasse lentamente, porque a JVM interpretava e executava um bytecode por vez. Em geral, as JVMs atuais executam bytecodes utilizando uma combinação de interpretação e a chamada compilação just-in-time (JIT). Nesse processo, a JVM analisa os bytecodes à medida que eles são interpretados, procurando hot spots (pontos ativos) - partes dos bytecodes que executam com frequência. Para essas partes, um compilador just-in-time (JIT) - conhecido como compilador Java HotSpot - traduz os bytecodes para a linguagem de máquina do computador subjacente. Quando a JVM encontra novamente essas partes compiladas, o código de linguagem de máquina mais rápido é executado.

 

Portanto, os programas Java realmente passam por duas fases de compilação - uma em que código fonte é traduzido em bytecodes (para a portabilidade entre JVMs em diferentes plataformas de computador) e uma segunda em que, durante a execução, os bytecodes são traduzidos em linguagem de máquina para o computador real em que o programa é executado.

 

 

Problemas que podem ocorrer em tempo de execução

 

Os programas podem não funcionar na primeira tentativa. Cada uma das fases anteriores pode falhar por causa de vários errros.

 

Por exemplo, um programa executável talvez tente realizar uma operação de divisão por zero (uma operação ilegal para a aritmética de número inteiro em Java). Isso faria o programa Java imprimir uma mensagem de erro. Se isso ocorresse, você teria de retornar à fase de edição, fazer as correções necessárias e passar novamente pelas demais fases para determinar se as correções resolveram o(s) problema(s).

 

* A maioria dos programas Java realiza entrada ou saída de dados. Quando dizemos que um programa exibe uma mensagem, normalmente queremos dizer que ele exibe essa mensagem na tela do computador. As mensagens e outros dados podem ser enviados para outros dispositivos de saída, como discos e impressoras e até mesmo uma rede para transmissão para outros computadores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.