问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jvm 线程 占用多少堆内存

发布网友 发布时间:2022-04-19 13:45

我来回答

1个回答

热心网友 时间:2023-06-28 23:23

jvm内存模型:Java代码是运行在Java虚拟机之上的,由Java虚拟机通过解释执行(解释器)或编译执行(即时编译器)来完成,故Java内存模型,也就是指Java虚拟机的运行时内存模型。

运行时内存模型,分为线程私有和共享数据区两大类,其中线程私有的数据区包含程序计数器、虚拟机栈、本地方法区,所有线程共享的数据区包含Java堆、方法区,在方法区内有一个常量池。java运行时的内存模型图,如下:

从图中,可知内存分为线程私有和共享两大类:

(1)线程私有区,包含以下3类:
程序计数器,记录正在执行的虚拟机字节码的地址;
虚拟机栈:方法执行的内存区,每个方法执行时会在虚拟机栈中创建栈帧;
本地方法栈:虚拟机的Native方法执行的内存区;

(2)线程共享区,包含以下2类
Java堆:对象分配内存的区域;
方法区:存放类信息、常量、静态变量、编译器编译后的代码等数据;
常量池:存放编译器生成的各种字面量和符号引用,是方法区的一部分。

楼主提到的Java栈,一般而言是指图中的虚拟机栈,在代码中的方法调用过程中,往往需要从一个方法跳转到另一个方法,执行完再返回,那么在跳转之前需要在当前方法的基本信息压入栈中保存再跳转。

三、关于寄存器的问题

对于java最常用的虚拟机,sun公司提供的hotspot虚拟机,是基于栈的虚拟机;而对于android的虚拟机,则采用google提供的dalvik,art两种虚拟机,在android 5.0以后便默认采用art虚拟机,这是基于寄存器的虚拟机。 楼主问的是jvm(即java vm),这是基于栈的虚拟机。那么关于虚拟机栈,这块内存的内容,我们再进一步详细分析,如下图:

可以看到,在虚拟机栈有一帧帧的 栈帧组成,而栈帧包含局部变量表,操作栈等子项,那么线程在运行的时候,代码在运行时,是通过程序计数器不断执行下一条指令。真正指令运算等操作时通过控制操作栈的操作数入栈和出栈,将操作数在局部变量表和操作栈之间转移。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 JAVA虚拟机的最大堆大小如何设置? 配置jvm运行时正常占用内存有多大 如何设定tomcat启动时jvm内存大小 怎么设置eclipse 的jvm大小 在一台服务器上面,JVM可以分配到的最大内存是多少 求教修改JVM内存大小? JVM内存最大能调多大分析 请教JVM内存堆大小的问题 JVM内存最大能调多大 如何修改jvm内存 内存设置过大 JVM内存一般设成多大的 jvm默认多大的对象是大对象 hadoop中个角色JVM的默认内存大小是? 怎样修改JVM的默认内存大小值 jvm 默认栈内存大小 电脑酷狗直播怎么打字聊天 酷狗繁星主播不开播手机用户可以进入直播室吗? 在酷狗里进入别人的直播间,如何把自己的名字改掉 为什么我的手机酷狗音乐没有直播 酷狗繁星怎样可以进入直播间 如何调整java虚拟机内存大小 如何查看GC 及jvm配置 jvm的内存如何管理 有哪些可以录制视频的软件? 有什么录制视频软件比较好用的 电脑录制视频软件哪个好? 用什么软件录制视频画质比较清晰 求问,手机录制视频应该用哪个软件好啊? 用什么软件录视频最高清? 视频录制软件有哪些 免费的高清录屏软件 高清免费的屏幕录制软件 有什么软件可以录制超清视频, 求推荐一款免费的高清录屏软件 视频录制软件app 谁给我推荐一款免费高清的视频录制软件 高清桌面录制视频软件哪个好? 有没有画质特别清晰的录屏软件 微信删了好友加回来对方有提示吗 微信单方删除对方好友,点击添加到通讯录,对方是...