finding and importing the binary data for a type
ensuring the correctness of the imported type.
step one: Internal Checks : check the structure of the class
step two: Verification of semantic
step three: Binary Compatibility
Nother to make sure they are compatible is because Java programs are dynamically linked. Java compilers will often recompile classes that depend on a class you have changed, and in so doing, detect any imcompatibility at complile -time.But there may be times when your complier doesn't recomplile a dependent class. It will also check whether the method is existed or not
allocating memory for class variables and initializing the memory to default values
invoking Java code that initializes class variables to their proper starting values.