1. JDK = Java Language + JVM + Java API
JRE = JVM + JAVA SE API
2. 3 famous JVM: HotSpot(Sun), JRocket(BEA), J9(IBM)
3. GC 收集器
Young Generation: Serial, ParNew & Parallel Scavenge
Tenured Generation: Serial Old, Parallel Old & CMS
G1 between Young & Tenured Generation.
4. Heap Space & Non-heap space
Heap Space: Eden Space, Survivor Space & Tenured Space
Non-heap Space: Code Cache, Perm Generation, JVM Stack & Local Method Stack
5. Command Tools
1) jps (JVM Process Status) like linus ps command
2) jstat + -gcutil + vmid
3) jmap (Memory Map for Java): 获取dump文件,查询finalize执行队列,java Heap & Perm 详细信息
4) jmap -dump:format=b,file=<filename>
jmap -heap +vmid : detail of heap (only availabe in Linux)
jmap -histo +vmid: 显示堆中对象统计信息,包括类,实例数量,合计容量
5) jhat (JVM Heap Analysis Tool): 与jmap搭配使用,分析堆转储快照(html方式)
但现在更常用Eclipse Memory Analyzer, IBM Heap Analyzer.
6) jstack (Statck Trace for Java): 当前线程快照threaddump
jstatck + vmid
JRE = JVM + JAVA SE API
2. 3 famous JVM: HotSpot(Sun), JRocket(BEA), J9(IBM)
3. GC 收集器
Young Generation: Serial, ParNew & Parallel Scavenge
Tenured Generation: Serial Old, Parallel Old & CMS
G1 between Young & Tenured Generation.
4. Heap Space & Non-heap space
Heap Space: Eden Space, Survivor Space & Tenured Space
Non-heap Space: Code Cache, Perm Generation, JVM Stack & Local Method Stack
5. Command Tools
1) jps (JVM Process Status) like linus ps command
2) jstat + -gcutil + vmid
3) jmap (Memory Map for Java): 获取dump文件,查询finalize执行队列,java Heap & Perm 详细信息
4) jmap -dump:format=b,file=<filename>
jmap -heap +vmid : detail of heap (only availabe in Linux)
jmap -histo +vmid: 显示堆中对象统计信息,包括类,实例数量,合计容量
5) jhat (JVM Heap Analysis Tool): 与jmap搭配使用,分析堆转储快照(html方式)
但现在更常用Eclipse Memory Analyzer, IBM Heap Analyzer.
6) jstack (Statck Trace for Java): 当前线程快照threaddump
jstatck + vmid