Why do I get verifier errors when loading a class file produced by javac?
Ans : Chances are the class was compiled with optimization, which can cause the class file to fail verification; this is an unfortunate flaw in existing implementations. The Java Virtual Machine performs three general processes when it first attempts to execute code belonging to a class: • loading: given the class name, determine the binary form for the class • linking: convert the class’s binary form so that it can be merged into the currently executing virtual machine • initialization: execute the static initializers for the class and the class variable initializers All three processes are managed by a class loader (an instance of a ClassLoader subclass). A Java program can have more than one class loader, to define different policies for finding classes and constraining their behavior. The process of linking usually starts with verificationchecking that the class’s binary representation is well formed and the virtual machine instructions in it obey the constraints of the Java langua