首页 > Java > Java入门 > 正文

java虚拟机的基本组成介绍

王林
发布: 2020-11-04 16:11:09
转载
2962人浏览过

java虚拟机的基本组成介绍

java虚拟机的基本组成:

(视频教程分享:java课程

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

4f58730c72b6613bd7b189531a67294.png

立即学习Java免费学习笔记(深入)”;

类加载器:

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

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

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

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

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

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

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

执行引擎:

阿里云-虚拟数字人
阿里云-虚拟数字人

阿里云-虚拟数字人是什么? ...

阿里云-虚拟数字人 2
查看详情 阿里云-虚拟数字人

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

本地方法接口:

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

jdk1.8 jvm内存结构图:

fe1031b4ef7556a7830dbc498912cbf.png

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

011249ed99ee40270d0be62e0833298.png

主要差别:

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

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

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

相关推荐:java入门

以上就是java虚拟机的基本组成介绍的详细内容,更多请关注php中文网其它相关文章!

相关标签:
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:csdn网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号