Classes are attached into the JVM as they are referenced by name in a class that is already running in the JVM. So, how is the staring class loaded? The very first class is especially loaded with the help of static main( ) method defined in your class. All the subsequently loaded classes are executed by the classes, which are already loaded and running. A class loader provides a namespace. All JVMs add at least one class loader that is embedded within the JVM called the primordial (or bootstrap) class loader. Non-primordial classes loaders are the JVM which has hooks in it to allow user declare class loaders to be used in place of primordial class loader. Let us look at the class loaders prepared by the JVM.
Class loaders in the hierarchy can never reload the class again. Hence difference is maintained. Classes loaded by a child class loader have visibility into classes loaded by its parent classes up the hierarchy but the reverse is not true illustrate in the above diagram.