反射之類載入器(1)
阿新 • • 發佈:2020-08-23
反射之類載入器(1)
一、介紹
本文主要用於學習Java
四種類載入器。
二、類載入器
1、引導類載入器 (又稱根據載入器)BootStrap ClassLoader
由於並不是java
語言實現的,也不是ClassLoader
的子類,獲取它的物件往往返回null
System.out.println(String.class.getClassLoader());//null
2、擴充套件類載入器 Extension ClassLoader
負責載入jre/lib/ext
擴充套件庫,是ClassLoader
的子類。
程式碼示例:
新建一個Person
類,將其匯出為一個jar
包,將此jar放到jre/lib/ext
System.out.println(Person.class.getClassLoader());
//地址值為sun.misc.Launcher$ExtClassLoader@33909752
3、應用類載入器 Application ClassLoader
負責ClassPath
路徑下的類(JDK5.0
以後不需要手動生成path),是ClassLoader
的子類,用於載入自己寫的檔案。
System.out.println(Person.class.getClassLoader()); //地址值為sun.misc.Launcher$AppClassLoader@33929101
4、自定義類載入器
當你的程式需要載入特定的目錄下的類可以自定義載入器。當程式中的位元組碼需要加密的時候,那麼往往會提供一個自定義類的載入對其進行解碼,後面會見到自定義類載入器tomcat
。