美文网首页
jvm-03垃圾回收-引用

jvm-03垃圾回收-引用

作者: 我是陈炜 | 来源:发表于2019-11-26 20:50 被阅读0次

1.什么是引用

如果一个Reference类型的数据里面装的是另外一块内存的起始地址,就说这块内存代表着一个引用。
这种定义纯粹但是比较狭隘。在这个定义下,对象只有被引用和没有被引用 两种状态,没有中间状态。

为了保证高效实用jvm内存(达到当内存空间足够的时候,对象不会被回收。当内存空间不足的时候,我们可以抛弃部分引用) jdk1.2后引进了强引用(Strong Reference),软引用(Soft Reference),弱引用(Weak Reference),虚引用(Phantom Reference)。

2.jdk中的引用类型

  • 强引用: 类似于Object b = new Object()这类引用,只要强引用存在,垃圾收集器永远不会回收被引用的对象。
  • 软引用: 用于描述一些有用,但是非必需的对象。对应软引用关联的对象。在系统将要发生内存溢出的时候,会把这些对象列入可回收的范围内 并且进行第二次回收。如果这次内存回收还是没有足够内存,才会抛出内存溢出异常。
  • 弱引用: 用于描述一些有用,但是非必需的对象。但是强度比软引用更加弱。弱引用的对象只会存活到下一次gc之前。
  • 虚引用:如果一个对象与GC Roots之间仅存在虚引用,则称这个对象为虚可达(phantom reachable)对象。

相关文章

  • jvm-03垃圾回收-引用

    1.什么是引用 如果一个Reference类型的数据里面装的是另外一块内存的起始地址,就说这块内存代表着一个引用。...

  • java 弱引用

    强引用:不仅能引用到对象,而且告诉垃圾回收器不能回收; 软引用:引用到对象,内存不足时垃圾回收器可以回收; 弱引用...

  • JVM垃圾回收

    GC垃圾回收流程 垃圾收集算法 垃圾回收算法 引用类型 垃圾回收的时机 1.垃圾收集算法 (1).引用计数算法含义...

  • JVM(二) GC算法与分代回收策略

    可达性分析 GCRoot场景 垃圾回收算法 分代回收策略 引用 垃圾回收 垃圾回收(Garbage Collect...

  • 引用类型

    参考博客:参考博客 类型: 强引用: 垃圾回收器不会回收 软饮用: 垃圾回收器在内存不够用的时候回收, 弱引用: ...

  • Chrome-垃圾回收

    垃圾回收机制 在Chrome存在垃圾回收机制,用于回收内存。 引用计数 引用计数就是跟踪记录每个值被引用的次数,当...

  • Python垃圾回收机制

    垃圾回收机制: Python中的垃圾回收算法是采用引用计数, 当一个对象的引用计数为0时, Python的垃圾回收...

  • Python 垃圾回收学习

    垃圾回收机制一般有两个阶段:垃圾检测和垃圾回收。Python GC 主要使用引用计数来跟踪和垃圾回收。在引用计数的...

  • 强引用、软引用、弱引用

    强引用:永远不会被垃圾回收器回收,宁可抛出OOM软引用:在内存足够的情况下,不会被垃圾回收器回收。当内存不够的情况...

  • 图片三级缓存的原理(项目经验)

    补充的知识:强引用:不会被回收弱引用:垃圾回收器触发会被回收软引用:系统检测内存不足时会被回收虚引用:等于null...

网友评论

      本文标题:jvm-03垃圾回收-引用

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