菜菜

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
基于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 1 44.13% 44.13% 1117360 13967 1117360 13967 301926 java.util.zip.ZipEntry 2 8.83% 52.95% 223472 13967 223472 13967 301927 com.sun.tools.javac.util.List 3 5.18% 58.13% 131088 1 131088 1 300996 byte[] 4 5.18% 63.31% 131088 1 131088 1 300995 com.sun.tools.javac.util.Name[] 上面显示的一个重要的信息是,总空间44.13%分配给了java.util.zip.ZipEntry objects. 看trace为301926的信息 TRACE 301926: java.util.zip.ZipEntry.<init>(ZipEntry.java:101) java.util.zip.ZipFile+3.nextElement(ZipFile.java:417) com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:1374) com.sun.tools.javac.jvm.ClassReader.list(ClassReader.java:1631) TRACE 301927: com.sun.tools.javac.util.List.<init>(List.java:42) com.sun.tools.javac.util.List.<init>(List.java:50) com.sun.tools.javac.util.ListBuffer.append(ListBuffer.java:94) com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:1374) TRACE 300996: com.sun.tools.javac.util.Name$Table.<init>(Name.java:379) com.sun.tools.javac.util.Name$Table.<init>(Name.java:481) com.sun.tools.javac.util.Name$Table.make(Name.java:332) com.sun.tools.javac.util.Name$Table.instance(Name.java:349) TRACE 300995: com.sun.tools.javac.util.Name$Table.<init>(Name.java:378) com.sun.tools.javac.util.Name$Table.<init>(Name.java:481) com.sun.tools.javac.util.Name$Table.make(Name.java:332) com.sun.tools.javac.util.Name$Table.instance(Name.java:349) 每一个栈帧信息包含类名字,方法名字,源文件名,行编号.可以通过设置HPROF agent里面的栈帧深度来控制最大帧数. 默认是4.栈帧不仅仅指示指示出执行空间开辟的方法,同样也指出负责内容开辟的方法.

 

posted on 2018-04-07 22:03  好吧,就是菜菜  阅读(188)  评论(0编辑  收藏  举报