Computer >> Máy Tính >  >> Lập trình >> Java

ClassLoader hoạt động như thế nào trong Java?

Lớp Java được lưu trữ dưới dạng mã byte trong tệp .class sau khi nó được biên dịch. ClassLoader tải lớp của chương trình Java vào bộ nhớ khi nó được yêu cầu. ClassLoader có phân cấp và vì vậy nếu có yêu cầu tải một lớp, nó sẽ được ủy quyền cho trình tải lớp cha .

Các loại ClassLoader trong Java được đưa ra như sau

  • Bootstrap ClassLoader
  • Tiện ích mở rộng ClassLoader
  • System ClassLoader

Ví dụ

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());
   }
}

Đầu ra

class loader for this class: sun.misc.Launcher$AppClassLoader@73d16e93
class loader for DNSNameService: sun.misc.Launcher$ExtClassLoader@70dea4e
class loader for HashMap: null