Java bytecode: Difference between revisions

Content deleted Content added
No edit summary
RCX (talk | contribs)
m Wiki linking
Line 5:
== Relation to Java ==
 
A [[Java (programming language)|Java]] programmer does not need to be aware of or understand Java bytecode at all. However, as suggested in the [[IBM]] developerWorks journal, "Understanding bytecode and what bytecode is likely to be generated by a [[Java compiler]] helps the Java programmer in the same way that knowledge of [[assembly Language|assembler]] helps the [[C (programming language)|C]] or [[C++]] programmer."<ref>[http://www-128.ibm.com/developerworks/ibm/library/it-haggar_bytecode/ Understanding bytecode makes you a better programmer]</ref>.
 
== Generating bytecode ==
Line 12:
* [[Jikes]], compiles from the Java programming language to Java bytecode developed by [[IBM]], implemented in [[C++]]
* Espresso, compiles from the Java programming language to Java bytecode, only Java 1.0
* [[GCJ|Gnu Compiler for Java]], GCJ, compiles from the Java programming language to Java bytecode, is also able to compile to native machine code and is available as part of the GCC[[GNU compiler collection|GNU Compiler Collection (GCC)]].
 
Some projects provide Java assemblers to enable writing Java bytecode by hand. Assembler code may be also generated by machine, for example by compiler targeting [[Java virtual machine]]. Notable Java assemblers include:
* [[Jasmin (Java_assembler)|Jasmin]], takes textual descriptions for Java classes, written in a simple assembler-like syntax using Java Virtual Machine instruction set and generates a Java class file <ref>[http://jasmin.sourceforge.net Jasmin Home Page<!-- Bot generated title -->]</ref>
* [[Jamaica (Java assembler)|Jamaica]], a [[Macro (computer science)|macro]] [[assembly language]] for the [[Java virtual machine]]. Java syntax is used for class or interface definition. Method bodies are specified using bytecode instructions. <ref>[http://www.judoscript.com/articles/jamaica.html Jamaica: The Java Virtual Machine (JVM) Macro Assembler<!-- Bot generated title -->]</ref>
 
Others developed compilers for different programming languages targeting Java virtual machine, such as
* [[JGNAT]] and [[AdaMagic|AppletMagic]], compile from the [[Ada programming language]] to Java bytecode
* [[Groovy programming language]], A [[scripting language]] based on Java
* [[C to Java byte-code compiler]]s
 
Line 480:
| newarray || align="center" | bc || atype || count → arrayref || creates new array with ''count'' elements of primitive type identified by ''atype''
|-
| [[nop]] || align="center" | 00 || || [No change] || performs no operation
|-
! colspan="5" | P