JVM系列二:JVM体系结构

系列一里讲到了Java虚拟机和操作系统的体系结构差别,这一节就简单的讲一下Java虚拟机的内部体系结构 jvm体系结构

从上图可以看出,JVM包括四个模块,分别是

1.类装载子系统:在JVM启动或者运行时将需要的class加载到JVM中

2.执行引擎:负责执行class文件(不一定是文件)中的字节码指令

3.运行时数据区:JVM执行Java程序时,用于保存程序数据的内存区,该区被划分为若干个不同的数据区域模拟实际机器上的存储,记录和调度功能模块

4.本地方法接口:调用C或C++实现的本地方法的代码返回结果(暂时还不熟悉)

模块之间的相互协作如下图所示

JVM体系结构

我们知道,Java源码通过javac编译成class文件,class文件中存储的是字节码,这些字节码就构成了一系列的能被JVM执行的指令操作,所以在Java虚拟机体系中还有一个重要的组成部分,那就是指令集。

在操作系统中,指令集就是在CPU中用来计算和控制计算机系统的一套指令的集合,每一种新型的CPU在设计时都规定了一系列与其它硬件电路相配合的指令系统。

Java虚拟机可以看作是一台抽象的计算机。如同真实的计算机那样,它也有自己的指令集。Java 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码(Opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(Operands)所构成。虚拟机中许多指令并不包含操作数,只有一个操作码。 如果忽略异常处理,那Java虚拟机的解释器使用下面这个伪代码的循环即可有效地工作:

	do {
		自动计算 PC 寄存器以及从 PC 寄存器的位置取出操作码;
	if (存在操作数)  取出操作数;
		执行操作码所定义的操作
	} while (处理下一次循环);

转载于:https://my.oschina.net/aptx4869/blog/479994

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值