第一步:Java加载
-第一步获取二进制流
-将静态存储结构转换为方法区的运行时数据结构
-在Java堆里生成类的对象,作为方法的入口
第二步:验证
-验证Java的class文件表示,魔数
-验证版本号
-验证常量池,看是否存在该常量(类型,数据结构是否正确,字符集相关)
-class的各个部分是否正确(字段表、方法表是否正确)
-元数据验证(父类验证、继承了不该集成的类、final的验证、是否实现了-接口的各种方法等等其他)
-字节码验证(指令验证)
-符号引用验证()
-第一步获取二进制流
-将静态存储结构转换为方法区的运行时数据结构
-在Java堆里生成类的对象,作为方法的入口
-验证Java的class文件表示,魔数
-验证版本号
-验证常量池,看是否存在该常量(类型,数据结构是否正确,字符集相关)
-class的各个部分是否正确(字段表、方法表是否正确)
-元数据验证(父类验证、继承了不该集成的类、final的验证、是否实现了-接口的各种方法等等其他)
-字节码验证(指令验证)
-符号引用验证()