The ClassLoader
The Java runtime environment is based
upon a virtual machine that interprets, verifies, and executes
classes in the form of platform-independent bytecodes. In addition,
the Java API includes a mechanism for you to load class definitions
in their bytecode form, and integrate them into the runtime
environment so that instances of the classes can be constructed and
used. When your Java files are compiled, a similar mechanism is
invoked whenever an
import
statement is encountered. The
referenced class or package of classes is loaded from files in
bytecode format, using the CLASSPATH environment variable to locate
them on the local file system.
In addition to this default policy for loading classes, the
java.lang.ClassLoader class allows the user to
define custom policies and mechanisms for locating and loading
classes into the runtime environment. The
ClassLoader is an abstract class. Subclasses
must define an implementation for the
loadClass()
method, which is responsible for
locating the class based upon the given string name, loading the
bytecodes comprising the class definition, and (optionally) resolving
the class. A class has to be resolved before it can be constructed or
before any of its methods can be called. Resolving a class includes
finding all of the other classes that it depends on, and loading them
into the runtime as well.
The ClassLoader is an important element of the network support in the Java API. It’s used as the basis for supporting Java applets ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access