Note: This article is for the author and original, if reproduced, please indicate the source.
On a blog post, the Java class file format in a graphical way to draw a bit, the logic felt much clearer, at the same time, also for the convenience of later inspection.
A class file is simply a statically formatted binary stream that generates a real runtime structure only after being loaded into memory by the virtual machine, so figuring out the class loading mechanism helps us understand the meaning of each field in the class file. It also helps us gain a deeper understanding of the undercurrent behind Java code. What do the virtual machines do behind the new keyword, for example? What operations in Java really cause classes to be loaded? What actions will cause the class to be initialized?
Now the class loading mechanism in Java is also graphically displayed, the picture can be enlarged to view.
Diagram of the class loading mechanism in Java (detailed version)