Java虚拟机体系结构

来源:互联网 发布:天尚网络机顶盒价格 编辑:程序博客网 时间:2024/06/05 02:50

  Java虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。这五部分是Java虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。

  1.Java指令集

  Java虚拟机支持大约248个字节码。每个字节码执行一种基本的CPU运算,例如,把一个整数加到寄存器,子程序转移等。Java指令集相当于Java程序的汇编语言。

  Java指令集中的指令包含一个单字节的*作符,用于指定要执行的*作,还有0个或多个*作数,提供*作所需的参数或数据。许多指令没有*作数,仅由一个单字节的*作符构成。 虚拟机的内层循环的执行过程如下:

  do{

  取一个*作符字节;

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

  }while(程序未结束)

  由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率。指令中*作数的数量和大小是由*作符决定的。如果*作数比一个字节大,那么它存储的顺序是高位字节优先。labjz.howbk.com例如,一个16位的参数存放时占用两个字节,其值为:

  第一个字节*256+第二个字节字节码指令流一般只是字节对齐的。指令tableswitch和lookup是例外,在这两条指令内部要求强制的4字节边界对齐。

0 0
原创粉丝点击