explore the details of how a class loader actually loads classes.
There is a single method of the
class (and all its subclasses) that accomplishes this:
Load and resolve the named class. A
ClassNotFoundException is thrown if the class
cannot be found.
This is the simplest way to use a class loader directly: it simply
requires that the class loader be instantiated and then be used via
loadClass() method. Once the
Class object has been constructed, there are
three ways in which a method in the class can be executed:
A static method of the class can be executed using the native method
interface of the Java virtual machine. This is the technique the Java
virtual machine uses to execute the
method of a Java application once the initial class has been loaded,
but this is not generally a technique used by Java applications.
An object of the class can be constructed using the
method of the
Class class, but only if the class has an
accessible constructor that requires no arguments. Once the object
has been constructed, methods with well-known signatures can be
executed on the object. This is the technique that a program like
appletviewer uses: it loads the initial class of
the applet, constructs an instance of the applet (which calls the
applet’s no-argument constructor), and then calls the
init() method (among other
Starting with JDK 1.1, the reflection API can be used ...