JavaAdvanced#jvm

What is the difference between a class loader's parent delegation model levels: Bootstrap, Extension/Platform, and Application?

Bootstrap ClassLoader loads core JDK classes (java.lang.*) from rt.jar/modules. Platform (formerly Extension) ClassLoader loads classes from the extensions directory. Application ClassLoader loads classes from the application's classpath. Each delegates loading requests to its parent first, ensuring core classes can't be overridden.

Example
System.out.println(String.class.getClassLoader()); // null (loaded by Bootstrap)
System.out.println(MyApp.class.getClassLoader()); // sun.misc.Launcher$AppClassLoader

Related Questions

1
JavaAdvanced#jvm

What is JIT compilation?

Open
2
JavaIntermediate#oop#fundamentals

What is the difference between shallow copy and deep copy in Java?

Open
3
JavaAdvanced#oop#interface

What is the diamond problem and how does Java avoid it with interfaces?

Open