1.jps:虚拟机进程状况工具,
8428是jps自己的进程
jps -l:输出主类名
jps -v:输出JVM启动时候的参数配置
2.jstat:虚拟机运行时信息监控
jstat是用来监控JVM运行时的状态信息的工具,可以查看JVM中类的装载、堆内存的详细信息、垃圾回收等。
jvm运行时类加载(上图)
jvm运行时堆内存信息(上图)
堆内存各区使用百分比(上图)
3.jmap:导出堆文件分析
MAT(Memory Analyzer Tool)是一个功能强大、可视化的Java heap内存分析工具,分析堆内存泄漏和内存消耗情况。
4.java垃圾回收的影响
“Stop-The-World”现象出现是为了让垃圾回收器正常且高效的工作,在垃圾回收器工作时系统会进入一个停顿状态。
“Stop-The-World”:在垃圾回收时,应用程序都会发生短暂的停顿,停顿现象发生时,整个应用都没有反应,应用程序会卡死。
5.java堆溢出和栈溢出
java.lang.StackOverflowError
java.lang.OutOfMemoryError
6.Web网站测试工具:JMeter+Visual VM
7.垃圾回收器
CMS:基于标记-清除算法,会产生大量空间碎片
G1:比较新,有并发收集、分代收集、整理碎片功能。缺点:应用到整个堆上,老年代和年轻代不是物理隔离的,而是一块不连续的区域,对整体吞吐量提升不是太高。