美文网首页
垃圾回收 - Java类型引用

垃圾回收 - Java类型引用

作者: 牛牛_735d | 来源:发表于2019-11-15 19:58 被阅读0次

Java垃圾回收的依据是:是否还有引用.

什么是引用呢 ?

jdk1.2 之前的定义是:

若reference类型的数据中存储的数值代表一块内存的起始地址、则这块内存代表一个引用

jdk1.2 之后进行了扩充:

分为强引用软引用若引用虚引用.

如何定义 ?
强引用 (strong reference): 程序代码中普遍存在的、类似 Object obj = new Object() 这类的引用, 只要引用还在、永远不会被回收掉的对象

软引用 (soft reference):描述一些还有用、但不是必须的对象. 软引用关联的对象、在系统将要发生OOM前会对这些对象进行一次回收、若回收能够产生足够的空间、则不会发生OOM, 回收完成依然没有足够的空间才会抛出OOM异常, JDK1.2之后、系统提供了SoftReference来实现软引用

弱引用 (weak reference): 也是非必须对象、比软引用的引用更弱一些、被弱引用关联的对象只能生存到下次gc发生之前、当垃圾收集器工作时、无论当前内存是否足够、都会回收掉只被弱引用关联的对象
JDK1.2之后提供了WeakReference类来实现弱引用

虚引用 (Phantom reference): 一个对象是否有虚引用的存在、完全不影响其生存时间、也无法通过虚引用来取得一个对象的实例、设置虚引用的唯一目的就是能在整个对象进行垃圾收集时收到一个系统通知

相关文章

  • 垃圾回收 - Java类型引用

    Java垃圾回收的依据是:是否还有引用. 什么是引用呢 ? jdk1.2 之前的定义是: 若reference类型...

  • JVM垃圾回收

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

  • Java - 引用类型

    Java中4种引用的级别和强度由高到低依次为:强引用 -> 软引用 -> 弱引用 -> 虚引用 引用类型被垃圾回收...

  • 引用类型

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

  • 面试刷题4:强 弱 软 幻象 引用的区别?

    java中的类型除了原生类型,剩下的就是引用类型。研究引用类型对垃圾回收机制,对象的生命周期很有帮助。 我是李福春...

  • 深入分析Reference和ReferenceQueue

    一.Reference类型(4种类型引用) 1.StrongReference(强引用):垃圾回收器不会回收释放该...

  • Java的四种引用方式

    1.强引用 默认的引用类型 如果一个对象具有强引用,那么垃圾回收器是不会对它进行回收的,当内存不足的时候,Java...

  • 第三章(一)GC入门

    本篇主要讲述 JAVA与GC 、JAVA与引用 和JAVA对象回收流程 。 垃圾回收(Garbage Collec...

  • Java 的强引用、弱引用、软引用、虚引用

    Java四种引用包括强引用,软引用,弱引用,虚引用。 强引用: 只要引用存在,垃圾回收器永远不会回收 Object...

  • 强引用,软引用,弱引用,虚引用特点

    引用类型被回收时间强引用从来不会软引用内存不足时弱引用jvm垃圾回收时虚引用未知

网友评论

      本文标题:垃圾回收 - Java类型引用

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