当前位置:首页 > java > 正文

java类加载的过程图(java中类加载机制)

  • java
  • 2024-04-08 09:59:25
  • 2140

![Java 类加载过程图](http://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Java_Classloading_Process.svg/1200px-Java_Classloading_Process.svg.png)
说明:
1. 类加载器 (ClassLoader):负责加载类的二进制代码。 Java 虚拟机 (JVM) 有三种内置的类加载器:
- 启动类加载器
- 扩展类加载器
- 系统类加载器
2. 类加载请求 (Class Load Request): 当 JVM 需要加载一个类时,就会发出一个类加载请求。
3. 查找类 (Find Class): JVM 从类加载器列表中依次搜索该类,并尝试从它们的对应位置(例如,文件系统、网络)加载它。
4. 加载类 (Load Class): 一旦类被找到,JVM 就会将其二进制代码加载到内存中,并创建一个 Class 对象来表示该类。
5. 链接类 (Link Class):
- 验证 (Verifying): JVM 检查加载的类是否符合 Java 虚拟机规范。
- 准备 (Preparing): JVM 为类的静态变量分配内存,并将其初始化为默认值。
- 解析 (Resolving): JVM 替换类中所有符号引用(例如,字段和方法引用)为直接引用。
6. 初始化类 (Initialize Class): JVM 执行类的构造器,并初始化其静态变量。
7. 类可用 (Class Ready to Use): 加载的类现在可以被应用程序使用。