• 【JVM笔记】Serial回收器:串行回收


    目录

    Serial回收器的概括

    Serial回收器的优势与设置参数

    总结


    Serial回收器的概括

    Serial 收集器是最基本、历史最悠久的垃圾收集器了。JDK1.3 之前回收新生代唯一的选择

    Serial 收集器作为 HotSpot 中 Client 模式下的默认新生代垃圾收集器。Serial 收集器采用复制算法、串行回收和 "Stop- the-World" 机制的方式执行内存回收

    除了年轻代之外,Serial 收集器还提供用于执行老年代垃圾收集的 Serial Old 收集器。Serial Old收集器同样也采用了串行回收

    和 "Stop the World" 机制,只不过内存回收算法使用的是标记-压缩算法

    Serial Old是运行在 Client 模式下默认的老年代的垃圾回收器

    Serial Old 在 Server 模式下主要有两个用途:

    ① 与新生代的 Parallel Scavenge 配合使用

    ② 作为老年代 CMS 收集器的后备垃圾收集方案

    这个收集器是一个单线程的收集器,但它的 “单线程” 的意义并不仅仅说明它只会使用一个 CPU 或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束(Stop The World)

    Serial回收器的优势与设置参数

    优势:简单而高效(与其他收集器的单线程比),对于限定单个 CPU 的环境来说,Serial 收集器由于没有线程交互的开销,专心做垃圾收集自然可以获得最高的单线程收集效率

    运行在 Client 模式下的虛拟机是个不错的选择

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

    在 HotSpot 虛拟机中,使用 -XX: +UseSerialGC 参数可以指定年轻代和老年代都使用串行收集器

    等价于新生代用 Serial GC, 且老年代用 Serial Old GC

    总结

    这种垃圾收集器大家了解,现在已经不用串行的了。而且在限定单核 cpu 才可以用。现在都不是单核的了

    对于交互较强的应用而言,这种垃圾收集器是不能接受的。一般在 Javaweb 应用程序中是不会采用串行垃圾收集器的

  • 相关阅读:
    明道云工作流不触发表单默认值
    [附源码]计算机毕业设计JAVA剧本杀门店管理系统-
    AdaBoost介绍
    针对大型商场的现状,3d全景有哪些解决方案?
    SpringBoot如何集成MyBatis可以通过几个简单的步骤来实现
    面试官:Spring Boot 是否可以使用 XML 配置?如果可以的话怎么配置
    量子笔记:多比特量子门
    LeetCode-232. 用栈实现队列(C++)
    [基础01]基础控件(上)-TextView-Button-EditText-ImageView
    Redis——》单线程还是多线程
  • 原文地址:https://blog.csdn.net/lijibai_/article/details/126305160