Java Class ถูกจัดเก็บในรูปแบบของ byte code ใน ไฟล์ .class หลังจากรวบรวมแล้ว ClassLoader โหลดคลาสของ โปรแกรม Java ลงในหน่วยความจำ เมื่อมีความจำเป็น ClassLoader เป็นแบบลำดับชั้น ดังนั้นหากมีคำขอให้โหลดคลาส ก็จะมอบหมายให้ ตัวโหลดคลาสหลัก .
ประเภทของ ClassLoader ใน Java มีดังต่อไปนี้
- บูตสแตรป ClassLoader
- ส่วนขยาย ClassLoader
- ตัวโหลดคลาสระบบ
ตัวอย่าง
public class ClassLoaderTest { public static void main(String[] args) { System.out.println("class loader for this class: " + ClassLoaderTest.class.getClassLoader()); System.out.println("class loader for DNSNameService: " + sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader()); System.out.println("class loader for HashMap: " + java.util.HashMap.class.getClassLoader()); } }
ผลลัพธ์
class loader for this class: sun.misc.Launcher$AppClassLoader@73d16e93 class loader for DNSNameService: sun.misc.Launcher$ExtClassLoader@70dea4e class loader for HashMap: null