Java bytecode: Difference between revisions

Content deleted Content added
copy edit
Yobot (talk | contribs)
m WP:CHECKWIKI error fixes using AWB (10093)
Line 5:
 
== Instructions ==
:''{{See also: [[|Java bytecode instruction listings]]''}}
 
As each byte has 256 potential values, there are 256 possible opcodes. Of these, <code>0x00</code> through <code>0xca</code>, <code>0xfe</code>, and <code>0xff</code> are assigned values. 0xca is reserved as a breakpoint instruction for Java debuggers and its type is not used by the language. Similarly, <code>0xfe</code> and <code>0xff</code> are not used by the language and are reserved for internal use by the Java virtual machine.
Line 145:
There are several virtual machines available today, both free and commercial products.
 
{{SeeFurther|Java virtual machine}}
 
If executing Java bytecode in a Java virtual machine is not desirable, a developer can also compile Java source code or Java bytecode directly to native machine code with tools such as the [[GCJ|GNU Compiler for Java]]. Some processors can execute Java bytecode natively. Such processors are known as ''[[Java processor]]s''.
Line 152:
{{Main|List of JVM languages}}
 
The [[Java Virtual Machine]] provides some support for [[Type system#Dynamic_typingDynamic typing|dynamically typed languages]]. Most of the existing JVM instruction set is [[Type system#Static typing|statically typed]] - in the sense that method calls have their signatures type-checked at [[compile time]], without a mechanism to defer this decision to [[Run time (program lifecycle phase)|run time]], or to choose the method dispatch by an alternative approach.<ref>{{cite web
| url=http://headius.blogspot.com/2007/01/invokedynamic-actually-useful.html
| title=InvokeDynamic: Actually Useful?