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