2009-05-23 47 views

回答

7

有四遍:

  1. 基本格式检查(当类被加载) - (幻数,检查常量池)。

  2. 附加验证(链接时) - 检查最终修饰符,检查直接子类,有效字段,检查常量池。

  3. 字节码验证(链接时) - 检查代码阵列 - 操作数栈是好的,局部变量,正确的方法调用,字段赋值等..

  4. 虚拟通行证(代码中调用) - 确保存在引用的类/方法并具有正确的描述符。

全部血淋淋这里的详细信息,请参见4.9.1验证过程

http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html

3

请参阅VM Spec的第4.9节。该过程详细阐述。