jvm 体系结果与工作方式

本文详细介绍了Java虚拟机(JVM)的基本架构及其四大核心组成部分:类加载器、执行引擎、内存管理和本地方法调用。同时探讨了JVM为何采用基于栈的架构设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JVM全称是Java Virtual Machine (Java 虚拟机),它是通过模拟一个计算机来达到一个计算机所具有的计算功能。

 

JVM和实体机一样,必须有有一套合适的指令集,这个指令集能够被JVM解析执行。这个指令集我们称为JVM字节码指令集,符合class文件规范的字节码都可以被JVM执行。

 

JVM体系结构详解

JVM结构基本上由4部分组成。

111955_wm6O_2290420.png

1.类加载器:

在JVM启动时或者在类运行时,需要将class文件加载到JVM中。

每个被JVM装在的类型都有一个对应的java.lang.Class类的实例来表示该类型。该实例也可以唯一表示被JVM装在的class类,要求这个实例和其他类的实例一样都放在Java的堆中。

 

2.执行引擎

执行引擎的任务时负责执行class文件中包含的字节码指令,相当于实际机器上的CPU。

执行引擎是JVM的核心部分,执行引擎的作用就是解析JVM字节码指令,得到执行结果。

113641_gQLO_2290420.png

3. java内存管理:

将内存划分成若干个区以模拟实际机器上的存储,记录和调度功能模块,如实际机器上的各种功能的寄存器或者PC指针的寄存器等。

 其中方法区和java堆是所有线程共享的,也就是可以被所有执行引擎的实例访问。

 

4.本地方法调用:

调用C或C++实现的本地方法的代码返回结果。

 

JVM为何选择基于栈的架构

114406_jZ75_2290420.png

114421_i30c_2290420.png

 

执行引擎的架构设计

114505_XtAO_2290420.png

114520_fdsI_2290420.png

 

 

转载于:https://my.oschina.net/aslanjia/blog/1509631

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值