一个表格带你搞懂java的类加载机制

简介: 一个表格带你搞懂java的类加载机制,加载->验证->准备->解析->初始化->使用.卸载

顺序

环节

作用

1

加载

将.java文件编译成.class文件,并从磁盘读取到内存中,只有使用到类时才会加载

2

验证

校验字节码class文件的正确性

3

准备

给类的静态变量分配内存并初始化

4

解析

将符号引用转为直接引用

5

初始化

给静态变量赋值,执行静态代码块

6

使用

执行代码

7

卸载

垃圾回收,当类不再被使用时,JVM有权利在适当的时候将其从内存中清除,释放内存

java中一个类使用的生命周期如上图所示,需要注意的几个细节:

1、在准备阶段分配内存之后变量赋的是默认值,只有在初始化阶段才会把代码中给的值赋给变量

2、java中类的加载采用的是懒加载方式,只有要用到一个类的时候才会加载.

相关文章
|
4月前
|
安全 Java 程序员
学习Java类加载机制
在Java的世界里,每一个类或者接口,在经历编译器后,都会生成一个个.class文件。
36 0
|
4月前
|
Java 程序员
【Java编程实现 9 * 9 乘法表格打印四种形态,七种打法】
【Java编程实现 9 * 9 乘法表格打印四种形态,七种打法】
52 0
|
8天前
|
Java Apache Maven
java读取doc里的表格
java读取doc里的表格
20 9
|
1月前
|
存储 Java 数据库连接
Java类文件结构及类加载机制
该文章主要讨论了Java类文件的结构以及Java类的加载机制,并提到了双亲委派模型的相关内容。
Java类文件结构及类加载机制
|
20天前
|
数据库 C# 开发者
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
36 0
|
26天前
|
安全 前端开发 Java
【JVM 探秘】ClassLoader 类加载器:揭秘 Java 类加载机制背后的秘密武器!
【8月更文挑战第25天】本文全面介绍了Java虚拟机(JVM)中的类加载器,它是JVM的核心组件之一,负责将Java类加载到运行环境中。文章首先概述了类加载器的基本工作原理及其遵循的双亲委派模型,确保了核心类库的安全与稳定。接着详细阐述了启动、扩展和应用三种主要类加载器的层次结构。并通过一个自定义类加载器的例子展示了如何从特定目录加载类。此外,还介绍了类加载器的完整生命周期,包括加载、链接和初始化三个阶段。最后强调了类加载器在版本隔离、安全性和灵活性方面的重要作用。深入理解类加载器对于掌握JVM内部机制至关重要。
42 0
|
2月前
|
Java 程序员 开发者
Java中的类加载机制详解
Java中的类加载机制详解
|
3月前
|
存储 前端开发 Java
深入解析Java类加载机制:原理、过程与实践
深入解析Java类加载机制:原理、过程与实践
147 2
|
2月前
|
前端开发 Java 数据安全/隐私保护
深入理解Java中的类加载机制
深入理解Java中的类加载机制
|
3月前
|
前端开发 Java 开发者
Java中的类加载机制与双亲委派模型
Java中的类加载机制与双亲委派模型