美文网首页
【笔记】深入理解 java 虚拟机---垃圾收集器

【笔记】深入理解 java 虚拟机---垃圾收集器

作者: 张航_8ee7 | 来源:发表于2018-01-02 14:27 被阅读0次

    1 收集器作用的区间不同。有老年代的还有新生代的。

    2 收集器解决的问题不同

    3 没有最好的收集器。只有最适合的。

    1 Serial 收集器  。 单线程,新生代,适用桌面应用。

    2 ParNew收集器 。  Serial的多线程版,新生代。

    3 Parallel Scavanenge.(平行 ,清除)收集器。 以cpu吞吐量为目的。可以认为控制cpu的吞吐量。

    4 Serial Old。 单线程,老年代。

    5 Parallel Old。  同2,老年代。

    重点是下面的两种。

    1 CMS(Concurrent Mark Sweep) .。 目的是为了GC停顿时间最短为目的。 工作流程: 初始标记==》并发标记==》重新标记==》并发清除。3个标记一个清除。初始标记和重新标记仍然需要GC停顿。但是耗时很短,并发标记 和 并发清除可以和 用户线程同时执行。所以,可以称的上一个无GC停顿的收集器。

    缺点 :1【1】 比较占cpu资源 】【2】 产生浮动垃圾,不能及时清除(因为收集过程中,用户的线程仍然再继续,所以可能会产生一些在这次收集结果没有收集到的垃圾)。 【3】标记清除的特点,产生不连续的内存空间。

    2 G1 收集器(Grabage First)。 目前最新的技术产品之一。 运行流程:初始标记==》并发标记==》最终标记==》筛选返回。3个标价一个清除。不过是基于标记整理算法的,从局部看是 基于 复制算法的。 

    优点: 【1】 并发和并行 。和用户线程并行。【2 】分代收集。 可以一个收集器管理整个堆。它将堆划分为一个个 region。 【3】空间整合 。相对与cms的标记清除算法。【4可预测的停顿】我们可以人为的控制GC停顿时间。依据它将内存分成一个个Region。

     垃圾收集器的参数总结。

    相关文章

      网友评论

          本文标题:【笔记】深入理解 java 虚拟机---垃圾收集器

          本文链接:https://www.haomeiwen.com/subject/wpnfnxtx.html