JVM 类加载机制
类加载子系统主要包含如下几项功能: 负责从文件系统或是网络中加载.class文件,class文件在文件开头有特定的文件标识。 把加载后的class类信息存放于方法区,除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。 如果调用构造器实例化对象,则该对象存放在堆区。 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。