重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了java虚拟机的基本组成是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
科尔沁右翼前网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联公司2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
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虚拟机的基本组成是什么内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!