一、对象的创建过程
1. 类加载检查
当尝试创建一个对象时,JVM首先会到元空间中查找该对象的类符号引用(可以理解为类的模板信息)。检查这个类是否已经被加载、解析和初始化。如果没有,则会触发完整的类加载过程。
2. 分配内存
类加载检查通过后,JVM会在堆内存中为新对象划分一块内存空间。具体的内存分配方式取决于垃圾收集器的实现,常见的有:
- 指针碰撞:适用于内存规整的GC算法(如Serial、ParNew)
- 空闲列表:适用于内存不规整的GC算法(如CMS)
2025/12/29...大约 7 分钟