虚拟机类加载机制
虚拟机类加载机制 一、概述 虚拟机类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 类的加载、连接、初始化都是在程序运行期间完成。 二、类加载时机 类的生命周期:加载(loading) --> 验证(verification) --> 准备(preparation) --> 解析(resolution) --> 初始化(initialization) --> 使用(using) --> 卸载(unloading)。其中验证、准备、解析三个部分统称连接(linking)。 1、虚拟机规范确定5种情况必须立刻对类进行初始化(加载、验证、准备在此之前开始): 遇到new、getstatic、putstatic或invokestatic这4条字节码指令时;java代码场景: 使用new实例化对象、读取、设置类的静态字段(被final修饰、已在编译器把结果放入常量池的静态字段除外)、调用类的静态方法。 使用java.lang.reflect包的方法对类进行反射调用的时候...
