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

【后:回到子类构造方法

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

相关推荐
plainGeekDev3 小时前
null 判断 → Kotlin 可空类型
android·java·kotlin
糖拌西瓜皮3 小时前
Java开发者视角:深入理解Node.js异步编程模型
java·后端·node.js
plainGeekDev3 小时前
getter/setter → Kotlin 属性
android·java·kotlin
一线大码3 小时前
Smart-Doc 的简单使用
java·后端·restful
MacroZheng4 小时前
Claude Code官方桌面端正式发布,夯爆了!
java·人工智能·后端
虚无境5 小时前
如何编写一个SpringBoot项目告警推送的Starter
java·prometheus·webhook
NE_STOP20 小时前
Vide Coding--AI编程工具的选择
java
LDR00620 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术20 小时前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript