zoukankan      html  css  js  c++  java
  • JVM垃圾回收机制,GC发生在JVM哪部分,有几种GC,它们的算法是什么?

    1、GC发生在堆(heap)中

    2、GC的种类

      ①、次数上频繁收集Young区   --  Minor GC

      ②、次数上较少收集Old去      --   Full GC

      ③、基本不动Perm区

    3、GC的算法

      ①、引用计数法  (JVM淘汰了)

        只要对象之间相互引用了就不进行垃圾回收

        缺点: 每次对象赋值时均维护引用计数器,且引用计数器本身也有一定的消耗;较难维护循环引用

      ②、复制算法     年轻代中使用的是Minor GC,这种GC算法使用的是复制算法

        优点:没有标记和清除的过程,效率高 ;  没有内存碎片

        缺点:需要双倍的空间

        

       ③、标记清除算法    老年代一般使用标记清除或者标记清除与标记压缩相结合的算法

        优点:不需要双倍的空间

        缺点:两次扫描,耗时严重;会产生内存碎片

        

       ④、标记压缩算法     老年代一般使用标记清除或者标记清除与标记压缩相结合的算法

        优点:没有内存碎片

        缺点:需要移动对象的成本

        在整理压缩阶段,不在对标记的对象做回收,而是所有存活对象都向一端移动,然后直接清除边界以外的内存

        

       ⑤、标记清除压缩算法     多次标记清除之后进行标记压缩

        优点:减少了移动对象的成本

                 

        

  • 相关阅读:
    到底什么时候该使用MQ?
    阿里巴巴开源项目 Druid 负责人温少访谈
    MYSQL外键的使用以及优缺点
    SpringMVC拦截器(资源和权限管理)
    SpringMVC访问静态资源
    设计模式读书笔记文档下载
    java提高篇(八)----详解内部类
    Storm:最火的流式处理框架
    vue 学习视频推荐 & 初始化项目流程
    页面布局练习
  • 原文地址:https://www.cnblogs.com/lc0605/p/14311988.html
Copyright © 2011-2022 走看看