Java虚拟机(JVM)垃圾回收器Serial收集器

作者: Arvin Chen 分类: Java面试题 来源: Break易站(www.breakyizhan.com)

Serial收集器

Serial(串行)垃圾收集器是最基本、发展历史最悠久的收集器;

JDK1.3.1前是HotSpot新生代收集的唯一选择;

1、特点

针对新生代;

采用复制算法;

单线程收集;

进行垃圾收集时,必须暂停所有工作线程,直到完成;

即会"Stop The World";

Serial/Serial Old组合收集器运行示意图如下:

2、应用场景

依然是HotSpot在Client模式下默认的新生代收集器;

也有优于其他收集器的地方:
简单高效(与其他收集器的单线程相比);

对于限定单个CPU的环境来说,Serial收集器没有线程交互(切换)开销,可以获得最高的单线程收集效率;

在用户的桌面应用场景中,可用内存一般不大(几十M至一两百M),可以在较短时间内完成垃圾收集(几十MS至一百多MS),只要不频繁发生,这是可以接受的

3、设置参数

"-XX:+UseSerialGC":添加该参数来显式的使用串行垃圾收集器;

4、Stop TheWorld说明

JVM在后台自动发起和自动完成的,在用户不可见的情况下,把用户正常的工作线程全部停掉,即GC停顿;

会带给用户不良的体验;
从JDK1.3到现在,从Serial收集器-》Parallel收集器-》CMS-》G1,用户线程停顿时间不断缩短,但仍然无法完全消除;

更多Serial收集器请参考:

《Memory Management in the Java HotSpot™ Virtual Machine》 4.3节 Serial Collector(内存管理白皮书):http://www.oracle.com/technetwork/java/javase/tech/memorymanagement-whitepaper-1-150020.pdf

《Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide》 第5节 Available Collectors(官方的垃圾收集调优指南):http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/collectors.html#sthref27

  •   本文标题:Java虚拟机(JVM)垃圾回收器Serial收集器 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/javamianshiti/2850.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注