javac 编译
javap 反编译
jconsole 内存,cpu监控,类数量,线程数量和栈,vm信息(各种启动参数,回收期种类,各种统计等),MBean
jmap -histo打印jvm中各个类的数目 -dump dump出JVM的堆
jps 查询java进程PID (ps -aux | grep java)
jstack 打印各个线程的栈信息,判断死锁
jstat 查看gc状态,如各个区的利用率,gc总次数和耗时
gc log -> jstat 查看堆大小,gc次数,耗时 -> jmap dump -> jhat 查看异常对象 -> 通过异常对象定位异常代码 or 使用MAT定位代码
|----确定问题发生在新生代还是老年代----|
gc log,设置JVM启动参数 -printGCDetail