Java類載入器(Java Classloader)是Java運行時環境(Java Runtime Environment)的一部分,負責動態載入Java類到Java虛擬機的記憶體空間中。
基本介紹
- 中文名:Java類載入器
- 外文名:Java ClassLoader
- 語言:JAVA
- 代表:Tomcat、OSGi
簡介
- 引導(Bootstrap)類載入器。由原生代碼(如C語言)編寫,不繼承自java.lang.ClassLoader。負責載入核心Java庫,存儲在<JAVA_HOME>/jre/lib目錄中。
- 擴展(Extensions)類載入器。用來在<JAVA_HOME>/jre/lib/ext,或java.ext.dirs中指明的目錄中載入 Java的擴展庫。Java 虛擬機的實現會提供一個擴展庫目錄。該類載入器在此目錄裡面查找並載入 Java 類。該類由sun.misc.Launcher$ExtClassLoader實現。
- Apps類載入器(也稱系統類載入器)。根據 Java應用程式的類路徑(java.class.path或CLASSPATH環境變數)來載入 Java 類。一般來說,Java 套用的類都是由它來完成載入的。可以通過 ClassLoader.getSystemClassLoader()來獲取它。該類由sun.misc.Launcher$AppClassLoader實現。
User-defined class loaders
- 運行時裝載或卸載類。這常用於:
- 實現腳本語言
- 用於bean生成器
- 允許用戶定義的擴展性