jstorm 架构图 jv 架构_指令集

在java中,虚拟机的重要性就不再重复了,想必大家也对这方面有了基础的了解。本篇我们针对其中的架构模型进行分析,主要分成栈式架构和寄存器架构。想必大家这架构模型不是很清楚,在使用者两种架构时容易出现混淆。下面我们就这两种不同的jvm架构分别展开讲解。

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

1、栈式架构的特点

系统的设计与实现比较简单,适合资源有限的系统;

避免寄存器分配困难,采用零地址指令方式;

在指令流中,大多数指令都是零地址的,它们的执行取决于操作栈。较小的指令集,易于编译;

无需硬件支持,更好的可移植性,更好的跨平台实现。

2、寄存器架构的特点

最典型的应用是X86的二进制指令集:比如Android的Davlik虚拟机;

而指令集体系结构完全依赖硬件,移植性差;

出色的工作,高效的执行;

用较少的指令来完成一个操作;

大多数基于寄存器结构的指令集倾向于使用一地址指令、二地址指令和三地址指令,而基于栈式结构的指令集倾向于使用零地址指令。

因为跨平台设计,所以Java指令都是按照栈设计的。由于不同平台的CPU结构不同,所以不能设计为基于寄存器的,优点是跨平台,指令集小,易实现,缺点是性能下降,而且需要更多的指令来实现相同的功能。

以上就是java之JVM的架构模型,大家可以对这方面的知识点先进行理解,学会后用文本保存下来,避免遗忘。更多Java学习指路: