Bytecode Java: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m Ajustes
Gfc (discussão | contribs)
Expansão.
Linha 1:
O código de um [[programa de computador]] escrito na linguagem [[Java (linguagem de programação)|Java]] é [[Compilador|compilado]] para uma forma intermediária de código denominada '''[[bytecode]]''', que é interpretada pelas [[Máquina virtual Java|Máquinas Virtuais Java]] (JVMs). É essa característica que faz com que os os programas Java sejam independentes de plataforma, executando em qualquer sistema que possua uma JVM. Cada '''bytecode''' tem o tamanho de um [[byte]] - daí o seu nome - e assim o número de diferentes códigos de operação está limitado a 256. Os 256 possíveis valores para códigos de operação não são todos utilizados. Na verdade, alguns dos códigos foram inclusive reservados para nunca serem implementados.
{{reciclar}}
 
Um programador Java não precisa entender - e nem tomar conhecimento - dos '''bytecodes Java''' para ser proficiente na linguagem, da mesma forma que um programador de qualquer linguagem de alto nível compilada para linguagem de máquina não precisa conhecer a linguagem de montagem do computador hospedeiro para escrever bons programas naquela linguagem.
O código de um [[programa de computador]] escrito na linguagem [[Java (linguagem de programação)|Java]] é [[Compilador|compilado]] para uma forma intermediária de código denominada '''[[bytecode]]''', que é interpretada pelas [[Máquina virtual Java|Máquinas Virtuais Java]] (JVMs). É essa característica que faz com que os os programas Java sejam independentes de plataforma, executando em qualquer sistema que possua uma JVM.
 
== Montadores de Bytecode Java ==
Existem alguns montadores que permitem que se escrevam programas diretamente em '''bytecodes Java'''. Normalmente, esse tipo de ferramenta é útil para desenvolvedores de compiladores, e também para se estudar detalhadamente o comportamento das máquinas virtuais Java disponíveis no mercado. Dentre os montadores de '''bytecode Java''' disponíveis destacam-se:
*[[Jasmin]]
*[[Jamaica (montador para bytecode)|Jamaica]]
 
== Outras linguagens ==
Existem compiladores para outras linguagens de programação que geram '''bytecode Java'''. Por exemplo:
*[[JGNAT]] e [[AppletMagic]], que são compiladores para a linguagem [[Ada]].
*[[Groovy]], que é uma linguagem de script baseada em Java.
*[[JEiffel]] e [[SmartEiffel]], que geram '''bytecode Java''' para a linguagem [[Eiffel (linguagem de programação)|Eiffel]].
*Conversores de C para Java que geram código diretamente para '''bytecode Java'''.
*Conversores de linguagem Pascal para Java e compiladores Pascal que geram '''bytecode Java'''.
 
== {{Links}} ==
*[http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html Especificação da Máquina Virtual Java, contendo todos os códigos de operação do '''bytecode Java''']
*[http://jasmin.sourceforge.net/ Jasmin]
*[http://www.judoscript.com/jamaica.html Jamaica]
*[http://groovy.codehaus.org/ Linguagem Groovy]
*[http://smarteiffel.loria.fr/ Compilador SmartEiffel]
*[http://se.ethz.ch/projects/benno_baumgartner/jeiffel.pdf JEiffel]
 
{{esboço}}
 
[[Categoria:Java]]