zoukankan      html  css  js  c++  java
  • JVM 性能排查--查看哪个对象占用内存大

    参考:http://blog.csdn.net/chenleixing/article/details/44227327/

    1.  在IE地址栏中输入:http://localhost/test/init1.jsp,执行一次,我们可以在内存视图中看到cn.test.TestBean对象被创建了10000次:

     

    2.标记现在的状态,然后再执行init1.jsp和,init2.jsp可以让我们找到哪些类在调用后没有被释放(很重要!!!)

     

    查看哪些类被发生了变化:

    红色的变成是发生变化的对象及其数量。

    我刚才执行了4次init1.jsp和1次init2.jsp,正好产生了50000个TestBean对象,和图示显示的一样。

    3.  过一会后,按F4键进行垃圾回收。但回收完成后,这些对象依然存在,说明某些地方对这个类的引用没有被释放!

    4.  找出是哪些地方使用了TestBean类,并且没有释放它们

    在cn.test.TestBean对象上点击右键选择“Take Heap Snapshot for Selection”,观察它的heap

    下一步:

    点击“OK”:

     

    在该类中点击右键,在出现的菜单中选择“Use Selected Objects”:

    出现如下窗口:

    选择”Allocations”,点击“OK”,然后我们要的结果就出来了

    图中显示调用此类的地方是init1.jsp和init2.jsp,并且各自占用的比率都列出来了。

    既然问题的所在找出来了,接下来就该去解决问题了!

  • 相关阅读:
    input文本框输入限制(正则表达式)
    SQL Server通用型分页存储过程
    简单易学的数据图表
    HTML中input文本框只读不可编辑的方法
    SQL添加外键约束的方式
    +1 也要睁着眼
    博客园的自定义皮肤
    网站收集整理
    jQuery extend方法介绍
    HTML5本地存储
  • 原文地址:https://www.cnblogs.com/aligege/p/7657829.html
Copyright © 2011-2022 走看看