JVM垃圾收集器:引用类型

对象存活在它最近的一对大括号

Object的finalize方法,垃圾收集器在回收对象时调用,有且只被调用一次

System的gc方法,运行垃圾回收器

基于对象引用判断无用对象(零引用,互引用)

对象引用链,依赖关系串联

GC:Garbage Collector

GC Roots对象:

–虚拟机栈中引用的对象

–方法区中类静态属性引用的对象

–方法区中常量引用的对象

–本地方法栈中引用的对象

对象引用

强引用

–例如Object obj = new Object(); Object obj2 = obj;对象指向同一个堆内存

–只要强引用还存在,对象就不会被回收,哪怕发生OOM异常

软引用

–描述有用但并非必需的对象

–在系统将要发生内存溢出异常之前,会把这些对象列为可回收

–JDK提供了SoftReference类来实现软引用

弱引用

–描述非必需对象,比软引用强度更弱些

–被弱引用关联的对象只能生存到下一次垃圾收集发生之前

–JDK提供了WeakReference类来实现弱引用•

虚引用

–最弱的引用关系,JDK提供PhantomReference实现虚引用

–为一个对象设置虚引用关联的唯一目的就是能在这个对象被收集器回收时收到一个系统通知,用于对象回收跟踪

- 跟踪对象的回收过程

 使用软引用和弱引用可以加快对象占用内存的回收速度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值