The
Java Classloader is a part of the JRE that dynamically
loads Java classes into the JVM. Usually classes are only loaded on demand. The
Java run time system does not need to know about files and file systems because
of classloaders.
When
the JVM is started, three class loaders are used:
Bootstrap
class loader
Extensions
class loader
System
class loader
Bootstrap class loader
It loads
the core Java libraries located in the <JAVA_HOME>/jre/lib directory.
This class loader, which is part of the core JVM, is written in native code.
Extensions class loader
The
extensions class loader loads the code in the extensions directories (<JAVA_HOME>/jre/lib/ext
or any other directory specified by the java.ext.dirs system property). It is
implemented by the sun.misc.Launcher$ExtClassLoader class.
System class loader
It loads classes from the current classpath that can be set while
invoking a program using -cp or -classpath command line options. This is implemented by the
sun.misc.Launcher$AppClassLoader class.
No comments:
Post a Comment