1. 程式人生 > >聊聊類加載機制

聊聊類加載機制

-a 部署 安全 ping 加載 b- 代碼 justify tails

  • 類加載機制,談到雙親委派模型後會問到哪些違反了雙親委派模型?為什麽?為什麽要雙親委派?好處是什麽?

常見的三種類加載器

啟動器 Bootstrap c++編寫的 jvm的一部分 開發者無法直接獲取

標準擴展加載器類 Sun java的類庫擴展包加載到內存

應用程序加載器 程序的類加載器

特殊的 線程上下文類加載器

繼承應用程序加載器的用戶自定義加載器

為什麽使用?

防止內存中出現多份同樣的字節碼 、安全性

破壞jvm

第一次兼容

第二次 JNDI服務:JNDI的目的就是對資源進行集中管理和查找,它需要調用獨立廠商實現部部署在應用程序的classpath下的JNDI接口提供者(SPI, Service Provider Interface)的代碼。

第三次 osgi 一個模塊一個類加載器

另外tomcat 奇特的雙親委派

WebappClassLoader內部重寫了loadClass和findClass方法,實現了繞過“雙親委派”直接加載web應用內部的資源,當然可以通過在Context.xml文件中加上開啟正統的“雙親委派”加載機制

為什麽要這樣做?

https://blog.csdn.net/qq_38182963/article/details/78660779

聊聊類加載機制