jvm(1)-- 初体验:eclipse Memory analyer

简介: jvm(1)-- 初体验:eclipse Memory analyer

eclipse Memory analyer网盘地址


链接: https://pan.baidu.com/s/1AqWFU4JPWtwQ5F1TBw9omw 提取码: 27ei


一段代码


1dc618a0ed9580ce8bfa6facb208c08f.png5d4c6812c8535adbb050f4ddf2e1bce8.png


jvm参数,生成一个堆快照,设置初始内存和最大内存为20M


-XX:+HeapDumpOnOutOfMemoryError -Xmx20m -Xms20m


运行结果:

46a9d80a6e05e4e3b19d57a0ee70bcdf.png


如何使用eclipse memory analyer


上面的代码在项目下生成了一个文件,


66ba272a0bfc97be54a5fa679e3d5482.png


1.打开eclipse memory anayler

1dc618a0ed9580ce8bfa6facb208c08f.png

2.点击菜单栏file—open heap dump


3.点击finish

5d4c6812c8535adbb050f4ddf2e1bce8.png

出现下面的面板

46a9d80a6e05e4e3b19d57a0ee70bcdf.png

-4,点击dominator_tree

66ba272a0bfc97be54a5fa679e3d5482.png

显示该列表

1dc618a0ed9580ce8bfa6facb208c08f.png

点击:

5d4c6812c8535adbb050f4ddf2e1bce8.png


可以发现占用内存大的问题,在于产生了很多的demo对象,

对应代码的话,也就是在这行:

46a9d80a6e05e4e3b19d57a0ee70bcdf.png


相关文章
|
存储 缓存 算法
JVM学习(三):聊聊内存泄漏(memory leak)
可达性分析算法来判断对象是否是不再使用的对象,本质都是判断一个对象是否还被引用。那么对于这种情况下,由于代码的实现不同就会出现很多种内存泄漏问题(让JVM误以为此对象还在引用中,无法回收,造成内存泄漏)。
286 0
JVM学习(三):聊聊内存泄漏(memory leak)
|
存储 Java 调度
【JVM原理探索】分析堆外内存(Direct Memory)使用和分析
【JVM原理探索】分析堆外内存(Direct Memory)使用和分析
1125 0
【JVM原理探索】分析堆外内存(Direct Memory)使用和分析
|
Java Android开发
Eclipse设置jvm参数的三种方式
Eclipse设置jvm参数的三种方式
Eclipse设置jvm参数的三种方式
|
Android开发 iOS开发 MacOS
解决Mac启动Eclipse Memory Analyzer报错问题
转载至https://www.jianshu.com/p/9bbbe3c4cc8b
6565 0