Java类加载机制详解

需积分: 1 0 下载量 169 浏览量 更新于2024-08-03 收藏 18KB MD 举报
Java基础笔记-8-30 Java是目前最流行的编程语言之一,对于 Java 基础知识的掌握是非常重要的。今天,我们将探索 Java 基础笔记的第八章,主要介绍类加载器、类加载机制、类的生命周期等知识点。 一、类加载器 在 Java 中,类加载器(ClassLoader)是负责加载类的组件。类加载器的层次结构是树形结构的,其中 BootstrapClassLoader 是根类加载器,负责加载 Java 的核心类。ExtensionClassLoader 是扩展类加载器,负责加载 JRE 的扩展目录中的 JAR 包的类。SystemClassLoader 是系统类加载器,负责在 JVM 启动时加载来自 java 命令的-classpath 选项、java.class.path 系统属性,或 CLASSPATH 环境变量所指定的 JAR 包和类路径。 二、类加载机制 类加载机制是 Java 中的一种机制,它负责加载类。类加载机制有两个主要的机制:全盘负责和双亲委派。 1. 全盘负责:当一个类加载器负责加载某个 Class 时,该 Class 所依赖的和引用的其他 Class 也将由该类加载器负责载入,除非显式使用另外一个类加载器来载入。 2. 双亲委派:所谓父类委托,则是先让 parent 父类加载器试图加载该 Class,只有在父类加载器无法加载该类时才尝试从自己的类路径中加载该类,双亲委派解决重复加载的问题。 三、缓存机制 缓存机制是 Java 中的一种机制,它将会保证所有加载过的 Class 都会被缓存,当程序中需要使用某个 Class 时,类加载器先从缓存区中搜寻该 Class,只有当缓存区中不存在该 Class 对象时,系统才会读取该类对应的二进制数据,并将其转换成 Class 对象,存入缓存区中。 四、类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载 7 个阶段。 1. 加载:将字节码文件的二进制流加载进内存 2. 验证:文件格式验证、元数据验证、字节码验证、符号引用验证 3. 准备:为类变量在方法区中分配内存 4. 解析阶段是虚拟机将常量池内的符号引用替换为直接引用的过程 5. 初始化阶段,才真正开始执行类中定义的 Java 程序代码 通过本节课,我们了解了 Java 中的类加载器、类加载机制、缓存机制和类的生命周期等知识点,这些知识点对于 Java 开发者来说是非常重要的。