JVM: Loading, Linking, Initializing
This chapter of JVM Specification describes three phases of life of a JVM class: loading, linking and initializing. Good read A good read from the perspective of a Java programmer is chapter 12 of Java Language Specification which describes the execution of Java program starting from a main method of the starting class (also called: main class). In order to start executing main method (public void main(String[] args)) of the main (or: initial) class the JVM needs to have a runtime representation of the class. If JVM does not have it, it needs to construct it from binary representation. This is called loading. ...