《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
使用类的准备工作
===
任何程序都需加载到内存才能与CPU进行交流,字节码.class文件也不例外,加载到内存中才可实例化类。
ClassLoader
的使命就是提前加载.class 类文件到内存,在加载类时,使用的Parents Delegation Model(溯源委派模型)。
Java的类加载器是一个运行时核心基础设施模块,主要是在启动之初进行类的加载、链接、初始化:
- Java 类加载过程
Load-加载
由类加载器执行。
读取类文件(通常在 classpath 所指定的路径中查找,但classpath也非必须的),查找字节码,从而产生二进制流,并转为特定数据结构。
初步校验cafe babe魔法数、常量池、文件长度、是否有父类等,然后创建对应类的java.lang.Class实例。
Link-链接
将已读入内存的类的二进制数据合并到 JVM 运行时环境。
包括如下三步:
验证