回答
簡而言之,它可用於添加新代碼或實時更改現有代碼。以下是這個URL更詳細的解釋。
爲什麼寫一個自定義類加載器?
對於希望創建一個自定義類加載器的三個主要原因是:
要允許類加載來自其他存儲庫。
這是最常見的情況,應用程序開發人員可能希望從其他位置(例如通過網絡連接)加載類。
分割用戶代碼。
這種情況不常被應用程序開發人員使用,但廣泛用於servlet引擎。
允許卸載類。
如果應用程序創建大量僅用於有限時間段的類,此例很有用。由於類加載器會維護已加載的類的緩存,因此只有在類加載器本身已被取消引用之後才能卸載這些類。出於這個原因,系統和擴展類永遠不會被卸載,但是當它們的類加載器時,應用程序類可以被卸載。
謝謝RHT。正如你所說的,「應用程序類可以在他們的類加載器被卸載。」應用程序類加載器是否隨時在app/web服務器中卸載?根據我的理解,當我們關閉應用程序/ Web服務器時,它們也會卸載。右?不確定擴展類是什麼意思? –
嗨,薩克。首先,我對遲到的迴應表示歉意。今天我回到了StackOverflow,尋找自己對這個問題的迴應,並且我注意到了你的評論。 – RHT
你的問題 - 什麼是系統/擴展類應該是一個關於StackOverflow的單獨的頂級問題,它值得一個詳細的響應,但總之 - Application Server本身就是一個Java應用程序,它位於JVM之上,因此它擁有它自己的它需要使用的系統類或者可能跨不同應用程序共享的庫。各個供應商的術語各不相同,但這些類不會隨應用程序一起卸載。 – RHT
- 1. Constructor.newInstance中的自定義類加載器
- 2. 如何儀器類加載自定義類加載器?
- 3. PropertyPlaceholderConfigurer與自定義類加載器
- 4. PHP自定義類加載器
- 5. 「NegativeArraySizeException」 - 自定義類加載器
- 6. Java自定義類加載器
- 7. Zend_Db可能需要加載什麼?
- 8. 需要自定義的DataGridViewCell
- 9. 需要通過引導類加載器
- 10. 自定義動作鉤需要 - 文章加載 - wordpress
- 11. 加載自定義類加載器以加載java中傳輸的字節[]
- 12. Android的形象自定義適配器沒有加載
- 13. 爲什麼我們需要java中的用戶定義類加載器
- 14. Google自定義搜索引擎需要很長時間才能加載網頁?
- 15. 加載自定義類時的ClassNotFoundException
- 16. 您可能需要Webusercontrol的情況?
- 17. 如何編寫自定義的類加載器來從jar中加載類?
- 18. 在Java中,爲什麼Exception類需要在類加載器需要之前提供給類加載器?
- 19. 需要自定義簡碼
- 20. 需要自定義jcarousel
- 21. SAPUI5中的自定義Gif加載器
- 22. ASP.NET:實現自定義MembershipProvider類是否需要您實現自定義Membership類?
- 23. Authorize.net ARB自定義自動加載無法加載MerchantAuthenticationType類
- 24. 自定義系統類加載器不被所有類使用
- 25. 使用自定義類加載器加載Java運行時和API類
- 26. 自定義類加載程序問題
- 27. 定義?用於自動加載類
- 28. 在CakePHP3中加載自定義類
- 29. 自定義類從jar加載ClassCastException
- 30. iphone - Interface Builder不加載自定義類?
那麼,像tomcat這樣的Java應用服務器可能需要一個自定義的類加載器,例如爲每個應用程序提供它自己的加載類的「快照」。 –