对象实例化专题
对象实例化:new 关键字的背后
对象实例化是 Java 程序中最常见的操作之一。但 new 关键字的背后,隐藏着一套复杂的流程:从字节码到内存分配,再到对象头的设置。
专题导航
这一专题包含三篇文章,从不同角度解析对象实例化:
- 对象实例化方式 —— 有哪些方式可以创建对象?
- 字节码视角:对象创建过程 ——
new关键字在字节码层面发生了什么? - 对象内存布局与访问定位 —— 对象在堆里是怎么排列的?
学习路径
建议按顺序阅读:
对象实例化方式
│
▼
字节码视角:对象创建过程
│
▼
对象内存布局与访问定位
│
▼
(回到堆章节的「对象分配」进一步理解)核心关联
对象实例化与运行时数据区的关系:
- 堆:对象实例化在堆中分配
- 方法区:对象的类型信息来自方法区
- 虚拟机栈:栈帧的局部变量表持有对象的引用
- 直接内存:
ByteBuffer.allocateDirect()的对象在直接内存
