Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ClassLoader ทำงานใน Java อย่างไร


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