常见虚拟机:Hotspot、JRockit、J9
类加载-->运行时数据区(内存结构)
内存结构:
java栈(虚拟机栈):特点:
先进后出,每个方法对应到栈里面一个栈帧
fullGC会停掉用户线程,去调整内存。(老年代满了,装不下了就会发生fullGC);调优就是减少FULL的执行次数与执行时间。
//查看进程
jps
//查看某个进程内存分配情况
jinfo -flags 11877
//查看某个进程分配到的内存的使用情况
jstat -gc 11877
//堆对象统计(实例次数、占用字节数、类信息)
jmap -histo 11877 >a.txt
//堆信息查看
jmap -heap 11877
//堆内存溢出的时候到处dump文件(启动命令)
待确认命令
//dump分析工具
jvisualvm
//生成线程快照
//GC日志查看