Class ReferKit

java.lang.Object
org.miaixz.bus.core.xyz.ReferKit

public class ReferKit extends Object
引用工具类,主要针对Reference 工具化封装 主要封装包括:
 1. SoftReference 软引用,在GC报告内存不足时会被GC回收
 2. WeakReference 弱引用,在GC时发现弱引用会回收其对象
 3. PhantomReference 虚引用,在GC时发现虚引用对象,会将PhantomReference插入ReferenceQueue。 此时对象未被真正回收,要等到ReferenceQueue被真正处理后才会被回收。
 
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • ReferKit

      public ReferKit()
  • Method Details

    • of

      public static <T> Reference<T> of(ReferenceType type, T referent)
      获得引用
      Type Parameters:
      T - 被引用对象类型
      Parameters:
      type - 引用类型枚举
      referent - 被引用对象
      Returns:
      Reference
    • of

      public static <T> Reference<T> of(ReferenceType type, T referent, ReferenceQueue<T> queue)
      获得引用
      Type Parameters:
      T - 被引用对象类型
      Parameters:
      type - 引用类型枚举
      referent - 被引用对象
      queue - 引用队列
      Returns:
      Reference
    • get

      public static <T> T get(Reference<T> obj)
      null全的解包获取原始对象
      Type Parameters:
      T - 对象类型
      Parameters:
      obj - Reference对象
      Returns:
      原始对象 or null
    • get

      public static <T> T get(Ref<T> obj)
      null全的解包获取原始对象
      Type Parameters:
      T - 对象类型
      Parameters:
      obj - Ref对象
      Returns:
      原始对象 or null