页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

常用的工具有:jvisualvm, threadanalyzer。

 1.JMAP

Jmap命令用于生成堆转储快照,有时候也成为heapdump或者dump文件。

...

可以看到 C:\test 生成了test_Test.h 。

附JNI原理
Image Modified
 

4.jps

        用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似和windows中的tasklist类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。

...

-XX:+PrintGC

 

 

输出形式:
[GC 118250K->113543K(130112K), 0.0094143 secs][Full GC 121376K->10414K(130112K), 0.0650971 secs]

-XX:+PrintGCDetails

 

 

输出形式:[GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs][GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured: 112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs]

-XX:+PrintGCTimeStamps

 

 

 

-XX:+PrintGC:PrintGCTimeStamps

 

 

可与-XX:+PrintGC XX:+PrintGCDetails混合使用输出形式:11.851: [GC 98328K>93620K(130112K), 0.0082960 secs]

-XX:+PrintGCApplicationStoppedTime

打印垃圾回收期间程序暂停的时间.可与上面混合使用

 

输出形式:Total time for which application threads were stopped: 0.0468229 seconds

-XX:+PrintGCApplicationConcurrentTime

打印每次垃圾回收前,程序未中断的执行时间.可与上面混合使用

 

输出形式:Application time: 0.5291524 seconds

-XX:+PrintHeapAtGC

打印GC前后的详细堆栈信息

 

 

-Xloggc:filename

把相关日志信息记录到文件以便分析.与上面几个配合使用

 

 

-XX:+PrintClassHistogram

garbage collects before printing the histogram.

 

 

-XX:+PrintTLAB

查看TLAB空间的使用情况

 

 

XX:+PrintTenuringDistribution

查看每次minor GC后新的存活周期的阈值

 

Desired survivor size 1048576 bytes, new threshold 7 (max 15)new threshold 7即标识新的存活周期的阈值为7。

7.常用工具

JVisualVM

JVisualVM是集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。详细请见:JVisualVM

...