Hotspot虚拟机的两种架构模型

市面上的java虚拟机有很多种,整体来说分两种架构特点:栈、寄存器

一、基于栈架构的特点(市面上常见的java虚拟机大多的架构方式)

  • 设计实现更简单
  • 不需要考虑寄存器分配问题(使用零地址指令方式分配)
  • 指令集更小,编译容易小
  • 不需要硬件支持,可移植性更好,更容易实现跨平台

二、基于寄存器架构的特点(安卓的虚拟机就是基于寄存器的方式)

  • 典型的应用是x86的二进制指令集
  • 性能优秀,执行指令更高效
  • 花费更少的指令完成一项操作
  • 指令集架构完全依赖硬件,可移植性差
  • 基于寄存器架构的指令集往往以一地址指令、二地址指令和三地址指令为主,基于栈的架构是以零地址指令为主

猜你喜欢

转载自blog.csdn.net/qq_41813208/article/details/104526913