首页后端开发其他后端知识Java虚拟机的基本组成有哪些

Java虚拟机的基本组成有哪些

时间2024-03-27 20:14:03发布访客分类其他后端知识浏览1366
导读:这篇文章主要给大家介绍“Java虚拟机的基本组成有哪些”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Java虚拟机的基本组成有哪些”文章能对大家有所帮助。...
这篇文章主要给大家介绍“Java虚拟机的基本组成有哪些”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Java虚拟机的基本组成有哪些”文章能对大家有所帮助。


java虚拟机的基本组成:

类加载子系统、运行时数据区(JVM内存模型)、执行引擎、本地方法接口

类加载器:

主要负责把编译好的.class字节码文件装入运行时数据区,以供运行时数据区使用。

运行时数据区(JVM内存模型):

1、堆:主要存放对象,多线程共享(垃圾回收的主要区域)。

2、方法区:主要存放常量,静态变量,类元信息(类名,方法,字段,版本等等)。

3、线程栈:存储方法参数、局部变量、中间运算结果、对象的引用、并且提供部分其它模块工作需要的数据等。

4、本地方法栈: 本地方法栈为虚拟机使用到的native方法服务。

5、程序计数器:当前线程所执行的字节码的行号指示器,当执行本地方法时为null。

执行引擎:

执行引擎是JVM执行Java字节码的核心,执行方式主要分为解释执行、编译执行、自适应优化执行、硬件芯片执行方式。

本地方法接口:

非java语言实现的方法接口。

jdk1.8 jvm内存结构图:

JVM内存模型 1.8之前 和 1.8区别:

主要差别:

1、元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现(ps:方法区是java虚拟机中的规范,而永久代和元空间都是方法区的一种实现)。

2、元数据区从虚拟机中移动到了本地内存。

3、jdk1.8中常量池和静态变量移动到了堆中存储(逻辑上还是属于方法区)


以上就是关于Java虚拟机的基本组成有哪些的介绍啦,需要的朋友可以参考上述内容,希望对大家有帮助,欢迎关注网络,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

java虚拟机

若转载请注明出处: Java虚拟机的基本组成有哪些
本文地址: https://pptw.com/jishu/654452.html
HTML5网页水印效果怎样实现,代码是什么 在java中的this关键字怎么用的呢?

游客 回复需填写必要信息