78-垃圾回收日志与算法深度解读

垃圾回收日志与算法深度解读

实例:
-verbose:gc  //会输出GC的详细信息
-Xms20M		 //堆栈的最小容量为20M
-Xmx20M      //堆栈的最大容量为20M
-Xmn10M		 //新生代为10M
-XX:+PrintGCDetails //打印垃圾回收的详细信息
-XX:SurvivorRatio=8 //表示eden和Survivor空间的占比为8:1
   
public class MyTest1 {
    public static void main(String[] args) {
        int size = 1024 * 1024;
        byte[] myAlloc1 = new byte[2 * size];
        byte[] myAlloc2 = new byte[2 * size];
        byte[] myAlloc3 = new byte[2 * size];
        byte[] myAlloc4 = new byte[2 * size];

        System.out.println("hello world");
    }
}
输出结果:
//GC 默认是Scavenge GC (Minor GC),Allocation Failure是GC产生的原因:分配失败, PS是Parallel Scavenge 收集器,YoungGen是新生代;
// 7133K->1016K(9216K) : 左边7133K表示垃圾回收前对象所占的容量,右边1016K表示在垃圾回收之后还存活的对象所占的容量,两者相减就表示垃圾回收所是否的空间。9216K=9M表示新生代中的空间容量,9是8:1, 因为复制算法,永远有一个survivor空间浪费掉了。
[GC (Allocation Failure) [PSYoungGen: 7133K->1016K(9216K)] 7133K->3464K(19456K), 0.0059439 secs] [Times: user=0.02 sys=0.02, real=0.01 secs] 

hello world
Heap
	PSYoungGen total 9216K, used 7646K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)
  eden space 8192K, 80% used [0x00000000ff600000,0x00000000ffc798a8,0x00000000ffe00000)
  from space 1024K, 99% used [0x00000000ffe00000,0x00000000ffefe030,0x00000000fff00000)
  to   space 1024K, 0% used [0x00000000fff00000,0x00000000fff00000,0x0000000100000000)
  ParOldGen       total 10240K, used 2448K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000)
object space 10240K, 23% used [0x00000000fec00000,0x00000000fee643c0,0x00000000ff600000)
Metaspace       used 3317K, capacity 4568K, committed 4864K, reserved 1056768K
 class space    used 361K, capacity 392K, committed 512K, reserved 1048576K
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值