再回首Java第十五天
类的加载
当程序主动使用某个类是,如果该类还没有被加载到内存中,系统就会通过加载、链接、初始化三个步骤对该类进行初始化,如果没有意外,JVM就会完成这三个步骤,所以有时也把这三个步骤称为类的加载和类的初始化。
类的加载是指将类的class文件读入内存,并为之创建一个java.lang.Class对象,也就是说当程序中使用任何类时,系统都会为之创建一个java.lang.Class对象
类的加载由类的加载器完成,类加载器通常由JVM提供,这些类加载器是程序运行的基础,JVM提供的加载器其称为系统加载器,除此之外,开发者还可以通过继承ClassLoader基类来创建自己的加载器
通过不同的加载器,可以从不同的来源加载二进制数据
- 从本地加载class文件
- 从JAR包中加载class文件
- 通过网络加载class文件
- 把一个Java源文件动态编译并加载
类加载器无须等到首次使用该类才加载, Java虚拟机规范允许预先加载某些类