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

【后:回到子类构造方法

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

相关推荐
Broken Arrows2 小时前
k8s学习(一)——kubernetes重要基础概念概述
学习·容器·kubernetes
straw_hat.2 小时前
PCB学习——STM32F103VET6-STM32接口部分
stm32·嵌入式硬件·学习
YSRM2 小时前
Leetcode+Java+图论+岛屿问题
java·算法·leetcode·图论
终焉代码2 小时前
【C++】map与set底层结构——红黑树
开发语言·数据结构·c++
数字化顾问2 小时前
“AMQP协议深度解析:消息队列背后的通信魔法”之核心概念与SpringBoot落地实战
开发语言·后端·ruby
悠哉悠哉愿意2 小时前
【数据结构与算法学习笔记】双指针
数据结构·笔记·python·学习·算法
haing20193 小时前
使用matlab进行牛顿迭代求函数极值的方法
开发语言·matlab·牛顿迭代
kernelknight13 小时前
MATLAB For循环详解:从入门到精通的完整指南
开发语言·其他·matlab
codecrafter1233 小时前
MATLAB中的while循环:从入门到精通的完整指南
java·数据库·其他·matlab