2-JVM垃圾回收器

1,概述

哪些内存需要回收?

什么时候回收?

如何回收?

2,如何确定对象是否可以被回收?

    引用技术算法 

        优点:实现简单,

        缺点:无法解决互相引用的问题.

    可达性分析算法

3,对象的引用分类?

    强引用

    弱引用

    软引用

    虚引用.

4,回收方法区

   回收常量

        该常量没有被引用,就可以被回收

   回收类

        如何确定类是否可以被回收?

             A,该类的所以实例没有被引用,

            B,该类的classloader已经被回收

            C,该类的class对象已经被回收

5,垃圾回收算法

      标记清除

       复制算法

        标记-整理算法

 

算法名称概述优点缺点
标记-清除分为两个阶段:
1,标记,标记已经没有被引用的对象
2,清除:直接清除对象
1,简单,效率高内存空间不连续
复制算法1,将内存空间分为两块,
2,直接将依然被引用的对象copy到另一块,
3,清除未被引用的对象.
1,内存空间连续1,由于将内存分为两部分,内存使用率下降.
标记-整理算法上述两种算法的集合.  
分代搜集算法.年轻代-复制算法
老年代-标记整理算法
  

6,垃圾回收器

       
       

 

年代所处区域回收算法回收器概述优点缺点
年轻代标记-整理串行回收器(单线程) 1,实现简单,
2,效率高.
性能差
 标记-整理并行回收器(多线程)   
复制算法Parallel New 收集器 1,吞吐量很高 
老年代标记整理串行回收器(单线程) 1,实现简单,
2,效率高.
性能差
标记-整理Parallel old 收集器 1,吞吐量很高 
标记清除算法CMS(concurrent mark sweep)四个阶段:
1,初始标记:标记一下GC Roots能直接关联到的对象
2,并发标记:
进行GC roots追踪的过程
3,重新标记:垃圾回收和用户进程是并发进行,因此需重新标记并发期间的用户数据,这个期间仅仅运行垃圾回收线程
4,并发清除.清除标记的数据
高并发,低延迟1,会产生大理垃圾碎片
2,由于并发,对CPU敏感,吞吐量降低.
3,由于并发,无法处理浮动垃圾
 G1回收器1,初始标记
2,并发标记
3,最终标记
4,,筛选回收
  
永久代方法区1,常量池,
2,类卸载,回收
    

 

7,内存分配回收策略

 

转载于:https://my.oschina.net/u/3613309/blog/1544490

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值