Heap Allocation Profiles (heap=sites)

时间:2023-02-06 08:54:24
基于JDK-6,使用的类不同,展示的信息可能不同,内容一样的
javac -J-agentlib:hprof=heap=sites Hello.java
percent live alloc’ed stack class
rank self accum bytes objs bytes objs trace name
44.13% 44.13% java.util.zip.ZipEntry
8.83% 52.95% com.sun.tools.javac.util.List
5.18% 58.13% byte[]
5.18% 63.31% com.sun.tools.javac.util.Name[]
上面显示的一个重要的信息是,总空间44.%分配给了java.util.zip.ZipEntry objects. 看trace为301926的信息
TRACE :
java.util.zip.ZipEntry.<init>(ZipEntry.java:)
java.util.zip.ZipFile+.nextElement(ZipFile.java:)
com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:)
com.sun.tools.javac.jvm.ClassReader.list(ClassReader.java:)
TRACE :
com.sun.tools.javac.util.List.<init>(List.java:)
com.sun.tools.javac.util.List.<init>(List.java:)
com.sun.tools.javac.util.ListBuffer.append(ListBuffer.java:)
com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:)
TRACE :
com.sun.tools.javac.util.Name$Table.<init>(Name.java:)
com.sun.tools.javac.util.Name$Table.<init>(Name.java:)
com.sun.tools.javac.util.Name$Table.make(Name.java:)
com.sun.tools.javac.util.Name$Table.instance(Name.java:)
TRACE :
com.sun.tools.javac.util.Name$Table.<init>(Name.java:)
com.sun.tools.javac.util.Name$Table.<init>(Name.java:)
com.sun.tools.javac.util.Name$Table.make(Name.java:)
com.sun.tools.javac.util.Name$Table.instance(Name.java:)
每一个栈帧信息包含类名字,方法名字,源文件名,行编号.可以通过设置HPROF agent里面的栈帧深度来控制最大帧数.
默认是4.栈帧不仅仅指示指示出执行空间开辟的方法,同样也指出负责内容开辟的方法.

Heap Allocation Profiles (heap=sites)的更多相关文章

  1. Android内存管理(9)&ast;MAT:Heap Dump&comma;Shallow Heap&comma;Retained Heap&comma;Dominating Tree&comma;GC Roots等的含义

    原文: http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Fconcepts%2Fheapdump.ht ...

  2. Shallow Heap 和 Retained Heap的区别

    http://blog.csdn.net/a740169405/article/details/53610689 Shallow Heap 和 Retained Heap的区别 https://i.c ...

  3. Google 面试题:Java实现用最大堆和最小堆查找中位数 Find median with min heap and max heap in Java

    Google面试题 股市上一个股票的价格从开市开始是不停的变化的,需要开发一个系统,给定一个股票,它能实时显示从开市到当前时间的这个股票的价格的中位数(中值). SOLUTION 1: 1.维持两个h ...

  4. Setting Tomcat Heap Size &lpar;JVM Heap&rpar; in Eclipse

    this article picked from:http://viralpatel.net/blogs/setting-tomcat-heap-size-jvm-heap-eclipse/ Rece ...

  5. Memory Analyzer tool&lpar;MAT&rpar;分析内存泄漏---理解Retained Heap、Shallow Heap、GC Root

    Shallow Heap Size 指对象自身所占用的内存大小,不包含其引用的对象所占的内存大小. 1.数组类型 数组元素对象所占内存的大小总和. 2.非数组类型 对象与它所有的成员变量大小的总和.当 ...

  6. java 中Shallow Heap与Retained Heap的区别

    Shallow Size Shallow Size是对象本身占据的内存的大小,不包含其引用的对象.对于常规对象(非数组)的Shallow Size由其成员变量的数量和类型来定,而数组的ShallowS ...

  7. PAT Advanced 1098 Insertion or Heap Sort &lpar;25&rpar; &lbrack;heap sort(堆排序)&rsqb;

    题目 According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and ...

  8. troubleshooting tools in JDK 7--转载

    This chapter describes in detail the troubleshooting tools that are available in JDK 7. In addition, ...

  9. hprof教程

    大部分内容参考http://www.linuxidc.com/Linux/2012-04/58178.htm J2SE中提供了一个简单的命令行工具来对java程序的cpu和heap进行 profili ...

随机推荐

  1. system执行shell命令

    system - execute a shell command #include <stdlib.h> int system (const char *command); 描述 syst ...

  2. BZOJ 4152&colon; &lbrack;AMPPZ2014&rsqb;The Captain&lpar; 最短路 &rpar;

    先按x排序, 然后只有相邻节点的边才有用, 我们连起来, 再按y排序做相同操作...然后就dijkstra ---------------------------------------------- ...

  3. robotframework自动化系统:操作mysql数据库

    随着项目自动化深入和不断完善,大部分功能都已经能完成了自动化的操作:但是在设备添加的时候,遇到了难题.添加设备的时候mac必须是服务器设备管理中已经存在的mac地址,且是没有关联或绑定用户的设备信息. ...

  4. C实战:强大的程序调试工具GDB

    C实战:强大的程序调试工具GDB 1.基本调试 这里只列举最最常用的GDB命令. 1.1 启动GDB gdb program:准备调试程序.也可以直接进入gdb,再通过file命令加载. 1.2 添加 ...

  5. java&lowbar;注解

    注解1    注解的概念    jdk自带的注解    声明与使用注解的基本语法        注解的概念        在javaEE与开源框架中广泛使用,泛型在集合框架中广泛使用        注 ...

  6. Linux内核驱动--mmap设备方法【原创】

    mmap系统调用(功能) void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset) 内存映射函数mma ...

  7. Mac环境下扩容 &period;vmdk 镜像容量

    参考: Resizing a VirtualBox Disk Image (.vmdk) on a Mac Mac环境下扩容 .vmdk 镜像容量 在安装虚拟机时,原有的vmdk镜像容量只有20G,在 ...

  8. flask中邮件发送方法

    from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) #配置邮件:服务器/端口/传输层安 ...

  9. MySQL学习之备份

    MySQL数据库备份与还原 数据库备份也叫SQL数据备份,备份的结果都是SQL指令. 在MySQL中专门提供了一个用于数据库备份的SQL客户端:mysqldump.exe(MySql document ...

  10. oracle 月份中日的值必须介于 1 和当月最后一日之间

    解决方法: 1.用时间字段去关联字符串字段导致此错误.. 如果1.解决不了就看 2.把date'2017-01-01'  换成 to_date('2017-01-01','yyyy-mm-dd')