类加载器-自定义
自定義類加載器
問問自己,什么時候需要自定義類加載器
?? ?1)想加載非 classpath 隨意路徑中的類文件
?? ?2)都是通過接口來使用實現,希望解耦時,常用在框架設計
?? ?3)這些類希望予以隔離,不同應用的同名類都可以加載,不沖突,常見于 tomcat 容器
?
步驟:
?? ?1. 繼承 ClassLoader 父類
?? ?2. 要遵從雙親委派機制,重寫 findClass 方法
?? ?注意不是重寫 loadClass 方法,否則不會走雙親委派機制
?? ?3. 讀取類文件的字節碼
?? ?4. 調用父類的 defineClass 方法來加載類
?? ?5. 使用者調用該類加載器的 loadClass 方法
?
總結
- 上一篇: 类加载器-线程上下文
- 下一篇: 类的加载连接和初始化