background image

  虚拟机的内层循环的执行过程如下:

  do{

  取一个操作符字节;

  根据操作符的值执行一个动作;

  }while(程序未结束)

  由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的

效率。指令中操作数的数量和大小是由操作符决定的。如果操作数比一个字节大,那么它存
储的顺序是高位字节优先。例如,一个 16 位的参数存放时占用两个字节,其值为:

  第一个字节*256+第二个字节字节码指令流一般只是字节对齐的。指令 tableswitch

和 lookup 是例外,在这两条指令内部要求强制的 4 字节边界对齐。

  2.寄存器

  Java 虚拟机的寄存器用于保存机器的运行状态,与微处理器中的某些专用寄存器

类似。

  Java 虚拟机的寄存器有四种:

  ◆pc:Java 程序计数器。

  ◆optop:指向操作数栈顶端的指针。

  ◆frame:指向当前执行方法的执行环境的指针。

  ◆vars:指向当前执行方法的局部变量区第一个变量的指针。
点此发表你的看法>>

 Java 虚拟机

  Java 虚拟机是栈式的,它不定义或使用寄存器来传递或接受参数,其目的是为了保

证指令集的简洁性和实现时的高效性(特别是对于寄存器数目不多的处理器)。

  所有寄存器都是 32 位的。

  3.