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

JVM基础和内存区域剖析

发布网友 发布时间:2022-09-03 22:59

我来回答

1个回答

热心网友 时间:2024-01-02 22:30

概念

特点

先进后出

虚拟机栈:用户描述Java方法执行的内存模型

栈帧:虚拟机栈中的栈元素(用于支持虚拟机进行方法调用和方法执行的数据结构)包括局部变量表、操作数栈、动态链接、方法出口

1.主要存储:

2.数据过多会导致OutOfMemoryError异常

< JDK 1.8

>=JDK1.8

和永久代的区别:

1.存储位置不同,永久代物理上是堆的一部分,和新手代,老年代地址是连续的,而元空间属于本地内存;

2.存储内容不同,元空间存储类的元信息,静态变量和常量池等并入堆中;

3.相当于永久代的数据被分到了堆和元空间中

直接内存:避免native空间和java堆中来回进行复制

虚拟机启动时创建,用于存放对象实例,几乎所有的对象(包含常量池)都在堆上分配内存,当对象无法再该空间申请到内存时将抛出OutOfMemoryError异常。同时也是垃圾收集器管理的主要区域。可通过 -Xmx –Xms 参数来分别指定最大堆和最小堆

GC主要管理区域,可以通过-Xmx和Xms来设置最大和最小值,也可以通过-XX:NewSize -XX:MaxNewSize设置年轻代初始大小

超出空间大小会抛出OutOfMemoryError异常

新生区

新生区分为两个部分:伊甸区(Eden space)和幸存者区(survivor space)

伊甸区(Eden space)

大部分对象都会在Eden区诞生,并且一段时间不使用就会被GC回收

幸存者区(survivor space)

存在一段时间还在使用的对象会进入survivor区,survivor区包含一个相对的From区和to区,两者来回copy,回收没用的对象,用来延长对象的生命周期。

老年区(old FullGC)

经过多次GC仍然存在的对象会移动到老年区中,若老年区也满了,则会产生MajorGC(Full GC),对老年区进行内存清理(STW),若老年区执行了Full GC之后发现还是无法进行对象的报错,那么就会产生OOM异常”OutOfMemoryError“

问题:空间不连续,浪费空间

复制算法有2块一样大小的空间,情况对象时将可用的对象移动到to区里,复制算法内存空间连续

问题:要用2块空间,所以内存的模型from和to非常的小

只用一块空间,先进行标记无用对象,然后整理内存空间地址,最后清除

它只有一条GC线程,且就像前面说的,它在运行的时候需要暂停用户程序(stop the world)STW

它有多条GC线程,且它也需要暂停用户程序(stop the world)STW

它有一条或多条GC线程,且它需要在部分阶段暂停用户程序(stop the world),部分阶段与用户程序并发执行

serial(用于新生代,采用复制算法)、serial old(用于年老代,采用标记/整理算法)

parNew(用于新生代,采用复制算法)、Parallel

Scavenge(用于新生代,采用复制算法)、Parallel

old(用于年老代,采用标记/整理算法)

concurrent mark sweep[CMS] (用于年老代,采用标记/清除算法)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...机械与机械的区别(自动机械 和手动机械手表的差别) 全自动机械表和机械表有什么不同? 平板为什么自动关机 平板电脑突然关机平板电脑时常自动关机是怎么回事平板电脑时常自动关 ... 一生会成功的星座一飞冲天的概率很大? 大器晚成!能够一飞冲天的星座 席梦思如何清洁杀菌 席梦思如何清理 群晖NAS上靠谱的BT下载软件Synology Download Station 新手小白不会 docker 也能轻松玩转群晖下载 通吃种子磁力 中药水蛭一克多少钱 除法竖式口诀顺口溜要领 京剧中李正腔圆什么意思? 为什么有人宁愿花5000元买低配的iPhone13,也不愿买高配的安卓? 为什么大家更愿意选择iPhone13,而不是顶配安卓旗舰呢? iPhone 13/13 Pro/13 Pro Max跑分出炉 与安卓机比如何? Thinkpad T410i 支持inter my wifi功能吗?如何打开? t410i怎么开wifi 选择什么样的男人就有什么样的人生 选择怎样的方式生活,就会有怎样的人生,你赞同吗? 取其利的前一句是什么 治疗生姜烂脖子病最有效的药有哪些? 丝巾防晒的18种系法 小学一年级网上报名,手机上能操作吗? 今年长春2022年小学报名手机行吗 两岁宝宝吃海鲜过敏怎么办啊,为什么宝宝 螃蟹可以和蚕豆一起吃吗 孩子蚕豆过敏,能不能吃罗红霉素 我想了解下魅蓝手机怎么截图 绿萝老是会黄叶子的原因是什么? 楚雄电脑培训学校告诉你java编程内存管理需要注意的问题? 栈帧java中用什么表示 您好,我是vivox23用户,不小心把手机卡进入卡槽里,取不出来了,如何处理... 怎样知道微信群里其他好友的? 在微信群聊里面有两个,怎样删掉之前的 在微信群里如何能看到微信好友的? 如何看到微信群里陌生人的呢? 如何在微信群中查看对方的? 统觉是什么 何为“统觉”? 完全流产有哪些症状? 多肉小球玫瑰干瘪 一个修路队修一条路,第一周修了全长的一半,第二周修了剩下的一半_百度... 修路队修一条路,第一天修了一半,第二天修了剩下的一半还剩194米,这... 红绕长腿八爪鱼的做法 梦到喂乌龟吃三只青蛙和鱼是什么意思 交通信用卡超市返刷卡金哪个超市 交通银行信用卡返还的刷卡金怎么用,新世界百货 求喵喵喵的表情包 没有qq怎么填n9邮箱注册