Java class loading process
Basic Process: The array class itself is not created through the class loader and is directly created by the Java Virtual Machine. The element types of the array class are loaded by the class loader. Element type of the array class: The type after all dimensions are removed from the array. File Format verification: Metadata verification: bytecode description Semantic Analysis: bytecode Verification: the validity, correctness, and method body analysis of the program are determined through semantic flow and control flow analysis. Symbol reference verification: When a virtual machine converts a symbol reference to a direct reference, the parsing phase verifies the information other than the class itself: allocate memory for class variables in the method area and set the class variable initial value. Resolution: The Virtual Machine replaces the symbolic reference in the constant pool with the CONSTANT_Class_info, CONSTANT_Fieldref_info, CONSTANT_Methodref_info .. initialization: starts to execute the Java program code in the class definition. <Cinit> () method of the execution class constructor, <cinit> ():