Java क्लास को संकलित होने के बाद बाइट कोड के रूप में .class फाइल में संग्रहीत किया जाता है। ClassLoader जब आवश्यक होता है तो Java प्रोग्राम की क्लास को मेमोरी में लोड करता है। ClassLoader हायरार्किकल है और इसलिए यदि कोई क्लास लोड करने का अनुरोध होता है, तो इसे पैरेंट क्लास लोडर को सौंप दिया जाता है।
Java में ClassLoader के प्रकार निम्नलिखित हैं:
- Bootstrap ClassLoader
- Extensions ClassLoader
- System 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