叨叨两句
慢慢适应新的节奏了函数
27-01: 类的加载概述和加载时机
类的加载概述
- 当程序要使用某个类时,若是该类还未被加载到内存中,则系统会经过加载,链接,初始化三步。
类的加载步骤
- 加载
就是指将class文件读入内存,并为之建立一个Class对象。任何类被使用时系统都会创建。
-
链接spa
- 验证:是否有正确的内部结构,并和其余类协调一致。
- 准备:负责为类的静态成员分配
- 解析:将类的二进制数据中的符号引用替换为直接引用。
-
初始化对象
- 默认初始化
- 显示初始化
- 构造函数初始化
27-02:类加载器的概述和分类
类加载器的概述
负责将.class文件加载到内存中,并为之生成对应的Class对象。内存
类加载器的分类
- Bootstrap ClassLoader——根类加载器【又称引导类加载器】
- Extension ClassLoader——扩展类加载器
- System ClassLoader——系统类加载器
类加载器的做用
- BootStrap ClassLoader 负责Java核心类的加载
- Extension ClassLoader 负责JRE的扩展目录中jar包的加载
- System ClassLoader 负责在JVM启动时加载来自Java命令的class文件,以及classpath环境变量所指定的jar包和类路径