深入理解JVM虚拟机(二)
创始人
2025-05-31 19:50:38
0

目录:

(1)堆

(2)堆-内存溢出

(3)堆内存诊断 

(4)内存诊断-jvirsualvm


(1)堆

像前面讲过的程序计数器、虚拟机栈、本地方法栈啊,他们都有一些共同的特点,他们都是线程私有的,现在讲的堆和方法区是线程共享的区

 

(2)堆-内存溢出

堆中的对象看,当没有人在使用的时候,会被垃圾回收机制回收,占用的内存会被释放掉

如果不断的产生对象,而且有人在使用它,意味着这些对象不能当做垃圾,达到一定的数量,就会导致内存被耗尽,导致内存溢出

 堆内存溢出暴露的错误:

 还可以更改java虚拟机的内存参数:

改小之后再次运行:

 

(3)堆内存诊断 

 

 

 

 

打开命令行窗口:

使用jsp查看有哪些进程:

 

 使用jmap 查看18756这个进程的内存占用

 

 查看Heap Usage:堆内存占用,查看used的数,数组创建之前6.多

 

在执行一遍命令:

 

数组创建之后,used达到16 

 

 

 在执行一遍命令:

 

垃圾回收之后:

 

 (4)内存诊断-jconsole工具

重新执行一遍:

输入: 

 

 就会出来一个图形化界面:

 

打印2,堆使用情况 

 打印3:堆使用情况

 

 (4)内存诊断-jvirsualvm

 

 查看进程id:

 

 查看17748的堆内存占用情况:

观看两个used的值,下面的老生代 

 

 使用工具执行垃圾回收

 

 

发现先生代占用的内存变少了,老生代没变 

 

 

 

使用另外一种工具:也是一种图形化界面工具

 

可以使用堆Dump:抓取堆的当前快照,进一步对详细内容进行分析,这是jsconsole不具备的 

 

把堆的那一时刻堆的内存的信息截取下来了,并且堆里面有哪些类型的对象、每个对象的个数 

点击查找

 

 第一个最大

 student这个内存占用较高

 

 通过检查发现student对象内存占用较高,而且这个对象是长期使用的,导致垃圾回收没办法回收他们的内存

 

相关内容

热门资讯

月产80万公斤,纺织巨头宣布破... 订阅 快刀财经 ▲ 做您的私人商学院土耳其纺织双雄陨落启示录。作者:吕敬之来源:融中财经(ID: t...
北方稀土预计去年净利润同比增超... 稀土龙头中国北方稀土(集团)高科技股份有限公司(下称“北方稀土”,600111.SH)最新公告披露,...
押宝哪吒,国潮又杀出第一股 9.9元一个的哪吒手办,能撑起一个40亿估值的港股IPO吗?作者 |胡杨来源 |投资家(ID:tou...
破解学历歧视,让普通学子拿高薪... 2026年初,中国正深陷于一场复杂的就业情绪之中。一面是创纪录的应届高校毕业生数量,让“学历贬值”、...
四川绵竹三大千亿园区布局:循环... 2026新年伊始,四川省人民政府重磅发布《关于推动城市高质量发展的实施意见》,文件明确提到,以城镇化...
70余只基金开年大涨超20%!... 2026年首月过半,已有权益类基金创造惊人收益。Wind数据显示,截至1月15日,有74只权益类基金...
来伊份年度预亏1.7亿元,拟用... 红星资本局1月17日消息,1月16日,来伊份(603777.SH)发布预亏公告,预计2025年度归母...
老贾,赢了么? 昨晚(1月16日),可能不少人原本计划看西贝创始人贾国龙的直播。网上文章也是铺天盖地的。但不想,就在...
新商业周报 | 小红书与美团达... 《CBNData新商业周报》精选本周新商业领域最新动态,公司头条、消费风向、智能创新、营销动态、可持...
高达1340亿美元!美媒:马斯... 来源:环球网【环球网报道】据美国彭博社、路透社当地时间17日报道,美国亿万富翁埃隆·马斯克要求美国开...