𝖂𝖎ƙ𝖎𝖊

Bytecode Java: mudanças entre as edições

imported>Salebot
(bot: revertidas edições de 200.238.85.179 ( modificação suspeita : -24), para a edição 47985761 de Shgür Datsügen)
Sem resumo de edição
Linha 1: Linha 1:
{{sem notas|data=fevereiro de 2014}}
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 opcode 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.


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.
== 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 (linguagem de programação)|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'''.
== Bibliografia ==
* {{Citar livro |autor=Alves-Foss, Jim |título=Formal Syntax and Semantics of Java |subtítulo= |idioma=inglês |edição= |local=Heidelberg |editora=Springer-Verlag |ano=1999 |páginas=404 |volumes= |volume= |id= |ISBN=3-540-66158-1}}
* {{Citar livro |autor=Engel, Joshua |título=Programming for the Java Virtual Machine |subtítulo= |idioma=inglês |edição= |local=Reading, Massachusetts |editora=Addison-Wesley |ano=1999 |páginas=488 |volumes= |volume= |id= |ISBN=0-201-30972-6}}
* {{Citar livro |autor=Lindholm, Tim; Yellin, Frank |título=The Java Virtual Machine Specification |subtítulo= |idioma=inglês |edição=2ª |local=Reading, Massachusetts |editora=Addison-Wesley |ano=1999 |páginas=473 |volumes= |volume= |id= |ISBN=0-201-43294-3}}
== Ligações externas ==
* {{link|1=en|2=http://java.sun.com/docs/books/jvms|3=Especificações da JVM}}
* {{link|1=en|2=http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html|3=Especificação da Máquina Virtual Java|4=, contendo todos os códigos de operação do ''bytecode Java''}}
* {{link|1=en|2=http://jasmin.sourceforge.net/|3=Jasmin}}
* {{link|1=en|2=http://groovy.codehaus.org/|3=Linguagem Groovy}}
* {{link|1=en|2=http://smarteiffel.loria.fr/|3=Compilador SmartEiffel}}
* {{link|1=en|2=http://www.jabaco.org/|3=Compilador BASIC|4=www.jabaco.org}}
* {{link|1=|2=http://se.ethz.ch/projects/benno_baumgartner/jeiffel.pdf|3=JEiffel|4=(em formato [[PDF]])}}
{{Esboço-programação}}
[[Categoria:Java (linguagem de programação)]]

Edição das 14h15min de 3 de abril de 2017

talvez você goste