Java强饮用弱引用 软引用
时间: 2024-05-26 18:08:51 浏览: 153
Java对象的强、软、弱和虚引用
4星 · 用户满意度95%
Java中,根据对象是否被GC回收分为四种引用类型:强引用、软引用、弱引用和虚引用。其中,强引用是Java中最基本、默认的引用类型,而软引用和弱引用是JDK 1.2版本新增的引用类型。
强引用是指直接使用new关键字创建的对象所引用的变量,这种引用是无法被垃圾回收器回收的。只有当该对象没有任何强引用时,才会被回收。
软引用(SoftReference)是一种相对强一些的引用类型,在系统即将发生内存溢出异常之前,会把这些对象列入回收范围进行二次回收。当JVM进行垃圾回收时,如果这个对象是软可及的(即:软引用指向的对象还存在强引用或者其他软引用),那么这个对象就不会被回收。只有当该对象不存在任何强引用且没有其他软引用时,才会被回收。
弱引用(WeakReference)比软引用更加脆弱,这种引用类型所指向的对象只要没有被强引用或者软引用所指向,就会被JVM进行回收。如果一个对象仅仅被弱引用所指向,那么在JVM进行垃圾回收时,不管当前内存是否充足,都会将该对象进行回收。
阅读全文