একটি জাভা ক্লাস কম্পাইল হওয়ার পর বাইট কোড আকারে একটি .class ফাইল-এ সংরক্ষিত হয়। ClassLoader জাভা প্রোগ্রামের ক্লাসকে মেমোরিতে লোড করে যখন তা প্রয়োজন হয়। ClassLoader হায়ারার্কিক্যাল, তাই যদি কোনো ক্লাস লোড করার রিকোয়েস্ট আসে, তবে এটি প্যারেন্ট ক্লাস লোডার-এ ডেলিগেট করা হয়।
জাভাতে ClassLoader-এর টাইপগুলো নিচে দেওয়া হলো:
- বুটস্ট্র্যাপ ClassLoader
- এক্সটেনশন 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