JVM的类加载机制全面解析
什么是类加载机制 JVM把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被JVM直接使用的Java类型,这就是JVM的类加载机制。 如果你对Class文件的结构还不熟悉,可以参考之前的文章 Class文件结构全面解析(上) 和 Class文件结构全面解析(下) 。 欢迎关注微信公众号: 万猫学社 ,每周一分享Java技术干货。 类的生命周期 类从被加载到内存中,到被卸载出内存,一共分为以下几步: 加载(Loading) 验证(Verification) 准备(Preparation) 解析(Resolution) 初始化(Initialization) 使用(Using) 卸载(Unloading) 类加载的全过程,包括其中的 加载 、 验证 、 准备 、 解析 、 初始化 几个阶段。 欢迎关注微信公众号: 万猫学社 ,每周一分享Java技术干货。 加载 加载是类加载的第一阶段,在这一步中JVM规范要求完成了以下三件事: 通过一个类的全限定名来获取定义这个类的二进制字节流。 将这个字节流多代表的静态存储结构转化为方法区的运行时数据结构。 在内存中生成一个代表这个类的java.lang.Class对象。 以上要求其实并不具体,JVM的具体实现和应用都是比较灵活的。比如:获取这个类的二进制字节流,并没有说从哪获取,怎么获取