定义一个大对象,直接放入OLD区(对象占用的对内存占总的设置的内存一半以上),容易发生FGC

public class GcDemo {

    private static List<MemoryObject> list = new ArrayList<MemoryObject>();
    public static void main(String[] args) throws Exception {
            Thread.sleep(10000 * 2);
            happenMinorGC(111);
    }

    private static void happenMinorGC(int happenMinorGCIndex) throws Exception {
        for (int i = 0; i < happenMinorGCIndex; i++) {
             Thread.sleep(1000);
             MemoryObject m = new MemoryObject(1024 * 1024 * 7);
             list.add(m );
             if(list.size() >= 4){
                System.out.println('5');
                list.clear();
             }
        }
    }
}

class MemoryObject {
    private byte[] bytes;
    public MemoryObject(int objectSize) {
        this.bytes = new byte[objectSize];
    }
}


分析: 采用 java -XX:+UseSerialGC -Xms40M -Xmx40M -Xmn16M -verbose:gc -XX:+PrintGCDetails -XX:SurvivorRatio=6 GcDemo 执行:发生FGC


  S0        S1     E        O         P     YGC   YGCT  FGC   FGCT    GCT   
  0.00   0.00   2.00   0.00  10.65      0    0.000     0    0.000    0.000
  0.00   0.00   2.00   0.00  10.65      0    0.000     0    0.000    0.000
  0.00   0.00   2.00   0.00  10.65      0    0.000     0    0.000    0.000
  0.00   0.00   2.00   0.00  10.65      0    0.000     0    0.000    0.000
  0.00   0.00   2.00   0.00  10.65      0    0.000     0    0.000    0.000
  0.00   0.00  60.33   0.00  10.66      0    0.000     0    0.000    0.000
  0.00   5.68  60.33  29.17  10.70      1    0.007     0    0.000    0.007
  5.68   0.00  58.33  58.33  10.70      2    0.013     0    0.000    0.013
  0.00   5.68  59.37  87.50  10.70      3    0.020     0    0.000    0.020
  0.00   0.00  58.33   0.47  10.70      4    0.020     1    0.003    0.023
  0.00   0.00  58.33  29.64  10.70      5    0.023     1    0.003    0.026
  0.00   0.00  58.33  58.81  10.70      6    0.028     1    0.003    0.031
  0.00   0.00  59.02  87.97  10.70      7    0.031     1    0.003    0.035
  0.00   0.00  58.33   0.47  10.70      8    0.031     2    0.007    0.038
  0.00   0.00  58.33  29.64  10.70      9    0.035     2    0.007    0.041
  0.00   0.00  58.33  58.81  10.70     10    0.038     2    0.007    0.045
  0.00   0.00  58.79  87.97  10.70     11    0.042     2    0.007    0.048
  0.00   0.00  58.33   0.47  10.70     12    0.042     3    0.010    0.052
  0.00   0.00  58.33  29.64  10.70     13    0.046     3    0.010    0.056
  0.00   0.00  58.33  58.81  10.70     14    0.049     3    0.010    0.059
  0.00   0.00  58.63  87.97  10.70     15    0.053     3    0.010    0.063
  0.00   0.00  58.33   0.47  10.69     16    0.053     4    0.014    0.067
  0.00   0.00  58.33  29.64  10.69     17    0.057     4    0.014    0.071
  0.00   0.00  58.33  58.81  10.69     18    0.061     4    0.014    0.075
  0.00   0.00  58.53  87.97  10.69     19    0.064     4    0.014    0.078
  0.00   0.00  58.33   0.47  10.69     20    0.064     5    0.017    0.081

参考: http://xianqi-h.iteye.com/blog/1346491


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值