After jdk1.2, class loading is done by delegation, which means if ClassLoader can't find classes, it will ask parent ClassLoader to perform this task, all ClassLoaders's roots are system ClassLoader, which will default Load the class - ie, from the local file system. Today we will discuss how these mechanisms are running in JVM. Let us assume that there is a class byte code file (such as a hello.class file), how is he loaded in the application, and form a class object? The purpose of this article is to explain this problem.
Full text reading:
Java deeply explores the mystery of Java class loading mechanism