设为首页 加入收藏

TOP

Java垃圾收集器之Parallel Old收集器(一)
2015-02-02 14:17:24 来源: 作者: 【 】 浏览:19
Tags:Java 垃圾 收集器 Parallel Old

Parallel Old收集器是JAVA虚拟机中垃圾收集器的一种。和Serial Old收集器一样,工作在JAV虚拟机的老年代。这种垃圾收集器使用多线程和“标记-整理”算法。它在JDK 1.6中才开始提供。


在注重吞吐量及CPU资源敏感的场合,都可以优先考虑Parallel Scavenge加Parallel Old收集器。


1、运行代码


package com.gc;


?


import java.util.ArrayList;


import java.util.List;


?


/**


?* 简单的JAVA虚拟机内存回收,parallel old收集器的使用


?* 参数:-Xms30m -Xmx60m-Xmn10m -XX:+UseParallelOldGC -XX:+PrintGCDetails


?* @author 范芳铭


?*/


public class EasyParallelOld {


? ? ? public byte[] placeHolder =new byte[64 * 1024]; //占位符


? ? ? public static voidmain(String[] args) throws Exception{


? ? ? ? ? ? ? outOfMemoryByExpansionSize();


? ? ? }


? ? ?


? ? ?


? ? ? private static voidoutOfMemoryByExpansionSize() throws Exception{


? ? ? ? ? ? ? Listlist = new ArrayList();


? ? ? ? ? ? ? while(true){


? ? ? ? ? ? ? ? ? ? EasyParallelOldserial = new EasyParallelOld();


? ? ? ? ? ? ? ? ? ? list.add(serial);


? ? ? ? ? ? ? ? ? ? Thread.sleep(10);//停顿10毫秒


? ? ? ? ? ? ? }


? ? ? }


}


2、参数


-Xms30m -Xmx60m -Xmn10m -XX:+UseParallelOldGC -XX:+PrintGCDetails


-Xms30m? JVM最小30M


-Xmx100m? JVM最大100M


-Xmn10m? 新生代固定10M


-XX:+ UseParallelOldGC对应parallel scavenge +parallel old 收集器


-XX:+PrintGCDetails 打印详细GC


?


3、运行结果



[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 50664K->50664K(51200K)]54058K->54058K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0043610 secs][Times: user=0.00 sys=0.00, real=0.00 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 50728K->50728K(51200K)]54122K->54122K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0071480 secs][Times: user=0.00 sys=0.00, real=0.01 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 50792K->50792K(51200K)]54186K->54186K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0061676 secs][Times: user=0.00 sys=0.00, real=0.01 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 50856K->50856K(51200K)]54250K->54250K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0047575 secs][Times: user=0.00 sys=0.00, real=0.00 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 50920K->50920K(51200K)]54314K->54314K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0044603 secs][Times: user=0.00 sys=0.00, real=0.00 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 50984K->50984K(51200K)]54378K->54378K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0041311 secs][Times: user=0.00 sys=0.00, real=0.00 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 51048K->51048K(51200K)]54442K->54442K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0042710 secs][Times: user=0.00 sys=0.00, real=0.00 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 51112K->51112K(51200K)]54506K->54506K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0044147 secs][Times: user=0.00 sys=0.00, real=0.00 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 51176K->51176K(51200K)]54570K->54570K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0044082 secs][Times: user=0.00 sys=0.00, real=0.00 secs]


[Full GC [PSYoungGen:3394K->3394K(6848K)] [ParOldGen: 51176K->51176K(51200K)]54570K->54570K(58048K) [PSPermGen: 2084K->2084K(12288K)], 0.0044738 secs][Times: user=0.00 sys=0.00, real=0.01 secs]


Exception in thread "main"java.lang.OutOfMemoryError: Java heap space


? ? atcom.gc.EasyParNew.(EasyParNew.java:12)


? ? atcom.gc.EasyParNew.outOfMemoryByExpansionSize(EasyParNew.java:39)


? ? atcom.gc.EasyParNew.main(EasyParNew.java:14)


Heap


?PSY

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java垃圾收集器之CMS收集器 下一篇Java垃圾收集器之Serial Old收集器

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: