JVM==3>JVM的架构模型

java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构.

基于栈的指令集架构的特点:

  1. 设计和实现更简单,适用于资源受限的系统
  2. 避开了寄存器的分配难题;使用了零地址的指令方式分配
  3. 指令流中的指令大部分都是零地址指令,其执行过程依赖于操作栈,指令集更小,编译器容易实现
  4. 不需要硬件支持,可移植性好,更好实现跨平台.

基于寄存器的指令集架构:比如传统的PC以及安卓的Davik虚拟机.有点事性能更优秀

**零地址的指令:**一般我们操作指令都是需要两部分(一部分是地址,一部分是操作数,),而我们基于栈的指令集架构,由于栈的特性,栈在操作数据的时候,随着栈的入栈跟出栈,操作的都是栈顶的数据,来达到零地址的目的.

代码示例:
反编译指令:javap -v 类名.class
JVM==3>JVM的架构模型

JVM==3>JVM的架构模型