虚拟机类加载机制
- 概述:
如果需要使用某一个类型,虚拟机把描述类的数据从class文件中加载到运行内存,并对数据进行校验,转换解析和初始化,最终形成可以被java虚拟机直接使用的类型,这就是虚拟机的类加载机制。 - 加载机制的过程:
当程序要使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三步来实现对这个类的加载。
(1)加载:就是指将class文件读入内存,并为之创建一个Class对象
注意:任何类被使用时系统都会建立一个Class对象
(2)连接:
验证是否有正确的内部结构,检验是否符合官方制定的class文件规范准备负责为类的静态成员分配内存,并设置默认初始化值将类中的符号引用替换为直接引用
(3)初始化:给类中的所有静态成员主观赋值
3、类加载时机:
(1)创建类的实例
(2)类的静态成员使用
(3)使用反射方式来访问类型时
(4)初始化某个类的子类
(5)直接使用java.exe命令来运行某个主类
类加载器
- 概述:类加载器是负责加载类的对象。
将class文件(硬盘)加载到内存中,并为之生成对应的java.lang.Class对象。 - 分类:
(1)Bootstrap ClassLoader 引导类加载器
也被称为