深入解析Java类加载与实例化流程

目录

一、类加载(方法区](https://blog.csdn.net/2401_86112610/article/details/147521881?spm=1001.2014.3001.5502 ")")

1.父类静态初始化

2.子类静态初始化

二、实例化(堆)

1.赋零值

2.构造初始化

2.1父类构造初始化

2.2子类构造初始化


一、类加载(方法区)

首次被使用时 只一次静态加载

1.父类静态初始化

(父类)静态变量赋零值 + 静态变量就地初始化 + 静态代码块

2.子类静态初始化

(子类)静态变量赋零值 + 静态变量就地初始化 + 静态代码块


二、实例化(堆)

每次创建对象时 对实例的加载

1.赋零值

++父子所有++实例变量 赋零值

2.构造初始化

2.1父类构造初始化

【先:子类构造方法++第一行的super()++ 转先去执行 上一层父类构造方法】

(父类)实例变量就地初始化 + 实例代码块 + 构造方法体

2.2子类构造初始化

【后:回到子类构造方法

(子类)实例变量就地初始化 + 实例代码块 + 构造方法体

相关推荐
Upsy-Daisy3 分钟前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
绝知此事5 分钟前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海10 分钟前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠1 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
LuminousCPP1 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
魔法阵维护师2 小时前
从零开发游戏需要学习的c#模块,第十四章(保存和加载)
学习·游戏·c#
web3.08889992 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
德思特2 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU2 小时前
Spring IoC&DI
java·数据库·spring
один but you2 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言