本部分对应对应的Java虚拟机教材的第五章:
主要讲了Java虚拟机中实际使用的各种垃圾回收器
还有很多实战,这个展示不进行做,简单的吧基本的命令和语法贴出来,简单的进行演示:
package com.special.jvmdiagnosisperformance.code1;
import java.awt.*;
/**
* @author liuYC
* @ClassName AllocEden
* @Description TODO
* @date 2021/4/30 9:39
*
*
* 验证促使对象在eden区
* 伊甸区:寓意人刚开始居住的地方,用来描述对象刚开始创建的地方
*
* 参数:-Xms64M -Xmx64M -XX:+printGCDetails
*
* MaxTenuringThreshold = 10
* 设置对象进入老年代的最大年龄值
* 寓意:那么第十一次新生代就会晋升到老年代
*
* targetSurvivorRatio=15
*
* pretenuresizeThreshold 设置对象直接进入到老年代的阈值
* -xx:-usetlab 禁用线程本地分配缓存 线程专用的内存分配区域
*
*
*/
public class AllocEden {
public static final int _1k = 1024;
public static void main(String[] args) {
for (int i = 0; i < 5; i++){
byte[] bytes = new byte[_1k];
}
}
}
对应的实战的对应的演示:
- 初始串行收集器
- 扩大堆以提升系统性能
- 调整初始堆的大小
- 使用parallelgc回收器
- 使用较小堆提高gc压力
- 测试parallelgcoldgc表现
- 测试parallelnew 回收器表现
- 测试堆tomcat服务器的性能的影响