Hi,
you can find a lot of information
here.
Compilation generates only the .class files (bytecodes). The loading starts when we invoke
java command, and then an object/instance of java.lang.Class type is created into which the static members of the class that you execute (
java ClassName) get memory, and from thereon, the heap memory, the stacks area (where methods exeute) are created depending upon your program logic and thus follows the processing of your coding logic.
Thank you