多類加載器的單例模式


對於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));
   }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM