前言:
今天大家对“java创建一个对象”可能比较讲究,同学们都想要知道一些“java创建一个对象”的相关资讯。那么小编同时在网上收集了一些关于“java创建一个对象””的相关文章,希望小伙伴们能喜欢,同学们一起来学习一下吧!1. 定位, 虚拟机遇到new指令,检查类在常量池中是否对应符号引用
2. 判断这个类是否已加载,解析和初始化
3. 为新生对象在java堆中分配内存空间
一 指针碰撞:分配内存空间包括开辟一块内存和移动指针,非原子步骤可能出现并发问题,java虚拟机采用CAS配上失败重试的方式保证更新操作的原子性
二 空闲列表:分配内存空间包括开辟一块内存和修改空闲列表,非原子步骤可能出现并发问题,java虚拟 机采用CAS配上失败重试的方式保证更新操作的原子性
4. 将分配到的内存空间都初始化为0值,如成员变量初始化, int为0, 字符串为“”
5. 设置对象头相关数据,GC分代年龄,对象的哈希码hashCode,元数据信息
6. 执行对象方法,如静态语句块
标签: #java创建一个对象