WebLogic’s Classloading Framework
A classloader is used by the JVM to
locate and load Java classes into memory at runtime. Java
classloaders define a hierarchy, a tree-like collection of parent and
child classloaders. The root of this classloader hierarchy is the
bootstrap classloader, which is created by the JVM for loading its
internal classes and the java.*
packages included
within the JVM. An extensions classloader, which is a child of the
bootstrap classloader, is used to load any JARs placed in the
extensions directory of the JDK. This means that any JAR in the
JDK’s extensions directory may refer only to other
classes in that directory, or to the JDK classes. Finally, the system
classpath classloader, which is a child of the extensions
classloader, is responsible for loading classes from the
JVM’s classpath. Any custom classloader created by
an application, including WebLogic’s classloaders,
are all descendants of this system classpath classloader.
This classloader hierarchy plays an important role when locating and loading classes into memory. In general, classloaders try to reuse a preloaded version of a class. The hierarchy of classloaders intrinsically determines the scope from where the preloaded version of the class may be fetched. By default, child classloaders and classes loaded by these classloaders have direct access to their parent classloader and any classes loaded by it. This means that any classes loaded by a classloader are visible directly or indirectly, ...
Get WebLogic: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.