class文件检验器通过4次扫描保证class文件的完整性安全性等。
第一遍扫描:在二进制格式上扫描class文件确认其符合JAVA CLASS的基本结构。
例如:检查文件是否以0xCAFEBABE开始、检查是否完整等。
第二遍扫描:检查结构、强制规则。
例如:(1)方法描述符的上下文是否满足结构要求
(2)除Object外的类都必须有超类
(3)final类不能有子类
第三遍扫描:“字节码验证”
在字节码层面上确保操作码和操作数对应存在
第四遍扫描:动态链接过程中检查引用是否存在