类加载
1.1.什么是类加载?
就是.java代码通过javac编译生成.class文件(文件是保存在磁盘上的),如果想要JVM使用这个类,那就需要将这个类加载到内存中,这个过程成为“类加载”。
三个步骤:
- **1. 加载(loading):**读取.class文件,按照格式来进行解析(.class文件是有固定的格式,javac生成的时候就会按照这个格式来进行组织,JVM加载的时候也会按照这个格式来进行解析)
- **2. 连接(linking):**一个类可能会依赖其他类,如果想要使用这个类,需要将这个类依赖的类也需要加载
- **3. 初始化:**创建类对象,初始化该类的静态成员,并且执行静态代码块中的内容
注意:
类型的加载,连接,初始化都是在程序运行期间完成的,(类型:指的是定义的类,接口或者枚举成为类型而不涉及对象,在类加载的过程中,就是一个创建对象之前的一些信息)
示例:
class