Jim,
Procure em livros de Java, a respeito da maquina virtual Java
(JVM), e da compilacao para Bytecode (tambem conhecido como p-code).
Mas para te ajudar aqui vai um comeco:
O Java nao eh uma linguagem compilada, no sentido que eh
gerado codigo nativo (em linguagem de maquina), na verdade o Java eh um codigo
intermediario entre o compilado e o interpretado, tambem conhecido como p-code.
Este p-code eh um codigo otimizado para que a maquina virtual do Java (JVM)
, possa executa-lo o mais rapido do que seria se o Java fosse puramente
interpretado.
Quando voce compila usando o comando "javac" (este eh o
compilador do Java), o codigo fonte eh transformado em um codigo (p-code), com a
extensao ".class". Os arquivos com a extensao ".class", tambem sao chamados de
bytecodes, e estes arquivos eh que a JVM usa para executar o seu programa. Os
bytecode, sao escritos de tal forma que nao tenham caracteristicas prorpietarias
de hardware, SO, ou qualquer coisa que impeca a portabilidade entre
equipamentos. Os arquivos Bytecode sao, independentes de plataforma. Quando voce
instala o Java em uma determinada maquia, voce sempre deve baixa (dowanload), da
Sun (www.java.sun.com), uma versao de Java
que seja compativel com o seu equipamento, desta forma existem versoes do Java,
para Windows, Solaris, Linux, MacOS, PalmOS e por ai vai. Estas versoes do Java,
ou melhor estas versoes de JVM, sao dependentes da plataforma, mas elas podem
executar qualquer arquivo ".class", que voce tenha construido, ou que voce tenha
pego de algum outro lugar, mesmo que o ".class" nao tenha sido criado na mesma
arquitetura que voce esta executando-o. Em outras palavras, voce pode ter criado
um arquivo ".class" em uma maquina Windows, levar este arquivo ".class" para uma
maquina MacOS, e a JVM existente no machintosh irah executar o seu arquivo
".class" sem o menor problema. Eh ai que esta a portabilidade.
Uma analogia, eh a seguinte:
Imagine duas pessoas: Uma fala Ingles e Esperanto, a outra,
fala Alemao e Esperanto. O INgles nao entende Alemao, e vice-versa. Quando voce compila um arquivo Java, o Bytecode gerado (.class) eh SEMPRE
escrito em Esperanto. Desta forma, ele pode ser perfeitamente lido por qualquer
uma das duas pessoas. E eh assim que ocorre a portabilidade do Java.
Espero que isto de uma pequena ajuda no seu
trabalho.
----- Original Message -----
|
- [java-list] Linguagem java Jim
- Re: [java-list] Linguagem java Clayton
- Re: [java-list] Linguagem java Eduardo Ribeiro da Silva
- RE: [java-list] Linguagem java Marcos Lyra
- [java-list] Apresentação Everson
- Re: [java-list] Linguagem java Guri Verde