Get your own free workspace
View
 

JAVA Bytecode

Page history last edited by PBworks 4 years, 4 months ago

Java bytecode is the form of instructions that the Java virtual machine executes. Each bytecode instruction is one byte in length (hence the name), thus the number of bytecodes is limited to 256. Not all 256 possible bytecode values are used. In fact, Sun Microsystems, the original creators of the Java programming language, the Java virtual machine and other components of the Java Runtime Environment, have set aside a number of values to be permanently unimplemented.

 

Its what the compiler uses to be instructed on what. Originally only one compiler existed, the java compiler from Sun Microsystems, which compiles Java source code to Java bytecode. all the specs for Java bytecode are available, other people have supplied compilers that produce Java bytecode.

 

 

JAVA Bytecode Table

 

EX.

Java code

outer:

for (int i = 2; i < 1000; i++) {

for (int j = 2; j < i; j++) {

if (i % j == 0)

continue outer;

}

System.out.println (i);

}

 

A Java compiler might translate the Java code above into byte code as follows, assuming the above was put in a method

 

Code:

0: iconst_2

1: istore_1

2: iload_1

3: sipush 1000

6: if_icmpge 44

9: iconst_2

10: istore_2

11: iload_2

12: iload_1

13: if_icmpge 31

16: iload_1

17: iload_2

18: irem # remainder

19: ifne 25

22: goto 38

25: iinc 2, 1

28: goto 11

31: getstatic #84; //Field java/lang/System.out:Ljava/io/PrintStream;

34: iload_1

35: invokevirtual #85; //Method java/io/PrintStream.println:(I)V

38: iinc 1, 1

41: goto 2

44: return

Comments (0)

You don't have permission to comment on this page.