Java虚拟机:类的加载机制

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 034 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进一步完善自己对整个 Java 技术体系来充实自己的技术栈的同学。与此同时,本专栏的所有文章,也都会准备充足的代码示例和完善的知识点梳理,因此也十分适合零基础的小白和要准备工作面试的同学学习。当然,我也会在必要的时候进行相关技术深度的技术解读,相信即使是拥有多年 Java 开发经验的从业者和大佬们也会有所收获并找到乐趣。

类加载机制是 JVM 核心功能之一,也是理解 Java 应用程序运行过程的关键。类是如何从字节码被加载到内存中,并最终执行的?这个过程包含了哪些关键步骤?在本篇文章中,我们将详细解析 JVM 的类加载机制,包括类加载器的类型、双亲委派模型及其作用,帮助你深入理解 Java 程序从编译到执行的整个生命周期。


文章目录

      • 1、Java类的加载机制
      • 2、Java类的加载时机
        • 2.1、类的加载过程
        • 2.2、类的加载时机
        • 2.3、被动引用不会初始化
          • 2.3.1、代码示例一
          • 2.3.2、代码示例二
          • 2.3.2、代码示例三
        • 2.4、接口的加载过程
      • 3、Java类的加载过程
        • 3.1、加载
        • 3.2、验证
        • 3.3、准备
        • 3.4、解析
        • 3.5、初始化


1、Java类的加载机制

Java 虚拟机把描述类的数据从 Class 文件(‘.class’ 文件)中加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这个过程被称 Java 类的加载机制。

通俗的讲:当我们去 New 一个对象的时候,首先要保证,这个对象的 Class 文件,已经存在于内存之中。至于为什么我们在 New 的时候不需要去做相应加载内粗的动作?是因为 JVM 自带了类加载器的功能,我们在 New 一个

你可能感兴趣的:(栗筝i,的,Java,技术栈,#,Java,基础,栗筝i,的,Java,技术栈,Java,基础,Java,虚拟机)