多类加载器的单例模式

时间:2020-06-18 00:09:35   收藏:0   阅读:88

对于java而言,进程内唯一(线程唯一)是对同一个类加载器而言的。

在一些情况下我们可能会有两个类加载器,这个时候的单例模式并不能保证单例。所以在这种非单一类加载器的情况下,我们需要指定类加载器来执行单例类的创建。

见下方代码:

private static Class getClass(String classname) throws ClassNotFoundException {
      
      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
      if(classLoader == null)
        // 如果当前线程的classLoader为null,则指定单例模式的类加载器加载
        classLoader = Singleton.class.getClassLoader();
      return (classLoader.loadClass(classname));
   }
}

原文:https://www.cnblogs.com/Jun10ng/p/13155026.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!