深入解析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子类构造初始化

【后:回到子类构造方法

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

相关推荐
zlinear数据采集卡几秒前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#
她的男孩2 分钟前
我用 LLM 把后台 CRUD 效率提升 10 倍:AI 代码生成器的架构与落地实践
java·后端·架构
全栈技术负责人3 分钟前
解密 MCP(Model Context Protocol):大模型时代的“Type-C”总线与三驾马车架构深度解析
开发语言·ai·架构
丰锋ff10 分钟前
1.7在Qt窗口中添加右键菜单
开发语言·qt
Titan202427 分钟前
Linux网络学习:套接字、UDP的封装与应用
linux·服务器·开发语言·网络·c++
土司大王33 分钟前
LeetCode hot100——移动零
java·算法·leetcode
thefool1122661 小时前
相同的树`
java
鸿芯微控科技1 小时前
压电点胶阀出胶量不稳定怎么排查?驱动波形、背压、点胶重量与Python分析
开发语言·python·压电点胶阀·精密点胶·点胶重量·流体控制
原野池予1 小时前
深入Java集合框架:HashMap源码解析(JDK 8)
java·开发语言
lucky_syq1 小时前
专栏目录与学习路线 | 48 篇正文导览
人工智能·学习