Class Instances

java.lang.Object
org.miaixz.bus.core.instance.Instances

@ThreadSafe public final class Instances extends Object
单例类 提供单例对象的统一管理,当调用get方法时,如果对象池中存在此对象,返回此对象,否则创建新对象返回
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    清除所有Singleton对象
    static boolean
    exists(Class<?> clazz, Object... params)
    判断某个类的对象是否存在
    static <T> T
    get(Class<T> clazz, Object... params)
    获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象 注意:单例针对的是类和参数,也就是说只有类、参数一致才会返回同一个对象
    static <T> T
    get(String key, SupplierX<T> supplier)
    获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象
    static Set<Class<?>>
    获取单例池中存在的所有类
    static <T> T
    multiple(Class<T> clazz)
    多例
    static void
    put(Object obj)
    将已有对象放入单例中,其Class做为键
    static void
    put(String key, Object obj)
    将已有对象放入单例中,key做为键
    static void
    remove(Class<?> clazz)
    移除指定Singleton对象
    static void
    移除指定Singleton对象
    static <T> T
    singletion(Class<T> clazz)
    静态方法单例
    static <T> T
    singletion(Class<T> clazz, Object... params)
    获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象 注意:单例针对的是类和参数,也就是说只有类、参数一致才会返回同一个对象
    static <T> T
    singletion(Class<T> clazz, String groupName)
    静态方法单例
    static <T> T
    singletion(String className, Object... params)
    获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象
    static <T> T
    singletion(String key, SupplierX<T> supplier)
    获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象
    static <T> T
    threadLocal(Class<T> clazz)
    threadLocal 同一个线程对应的实例一致
    static <T> T
    threadSafe(Class<T> clazz)
    ThreadSafe 线程安全标示的使用单例,或者使用多例

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • get

      public static <T> T get(Class<T> clazz, Object... params)
      获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象 注意:单例针对的是类和参数,也就是说只有类、参数一致才会返回同一个对象
      Type Parameters:
      T - 单例对象类型
      Parameters:
      clazz - 类
      params - 构造方法参数
      Returns:
      单例对象
    • get

      public static <T> T get(String key, SupplierX<T> supplier)
      获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象
      Type Parameters:
      T - 单例对象类型
      Parameters:
      key - 自定义键
      supplier - 单例对象的创建函数
      Returns:
      单例对象
    • put

      public static void put(Object obj)
      将已有对象放入单例中,其Class做为键
      Parameters:
      obj - 对象
    • put

      public static void put(String key, Object obj)
      将已有对象放入单例中,key做为键
      Parameters:
      key - 键
      obj - 对象
    • exists

      public static boolean exists(Class<?> clazz, Object... params)
      判断某个类的对象是否存在
      Parameters:
      clazz - 类
      params - 构造参数
      Returns:
      是否存在
    • getExistClass

      public static Set<Class<?>> getExistClass()
      获取单例池中存在的所有类
      Returns:
      非重复的类集合
    • remove

      public static void remove(Class<?> clazz)
      移除指定Singleton对象
      Parameters:
      clazz - 类
    • remove

      public static void remove(String key)
      移除指定Singleton对象
      Parameters:
      key - 键
    • destroy

      public static void destroy()
      清除所有Singleton对象
    • singletion

      public static <T> T singletion(Class<T> clazz)
      静态方法单例
      Type Parameters:
      T - 泛型
      Parameters:
      clazz - 类信息
      Returns:
      结果
    • singletion

      public static <T> T singletion(Class<T> clazz, String groupName)
      静态方法单例
      Type Parameters:
      T - 泛型
      Parameters:
      clazz - 类信息
      groupName - 分组名称
      Returns:
      结果
    • threadLocal

      public static <T> T threadLocal(Class<T> clazz)
      threadLocal 同一个线程对应的实例一致
      Type Parameters:
      T - 泛型
      Parameters:
      clazz - class
      Returns:
      结果
    • threadSafe

      public static <T> T threadSafe(Class<T> clazz)
      ThreadSafe 线程安全标示的使用单例,或者使用多例
      Type Parameters:
      T - 泛型
      Parameters:
      clazz - class
      Returns:
      结果
    • multiple

      public static <T> T multiple(Class<T> clazz)
      多例
      Type Parameters:
      T - 泛型
      Parameters:
      clazz - class
      Returns:
      结果
    • singletion

      public static <T> T singletion(Class<T> clazz, Object... params)
      获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象 注意:单例针对的是类和参数,也就是说只有类、参数一致才会返回同一个对象
      Type Parameters:
      T - 单例对象类型
      Parameters:
      clazz - 类
      params - 构造方法参数
      Returns:
      单例对象
    • singletion

      public static <T> T singletion(String key, SupplierX<T> supplier)
      获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象
      Type Parameters:
      T - 单例对象类型
      Parameters:
      key - 自定义键
      supplier - 单例对象的创建函数
      Returns:
      单例对象
    • singletion

      public static <T> T singletion(String className, Object... params)
      获得指定类的单例对象 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象
      Type Parameters:
      T - 单例对象类型
      Parameters:
      className - 类名
      params - 构造参数
      Returns:
      单例对象