java对象的实例化布局

  1. 对象创建的方式
    · 直接new
    · 通过反射newInstance
    · 使用clone()方法
    · 通过序列化的方式,一般用于网络传输
  2. 对象创建步骤
    2.1 判断对象是否已经被加载
    先检查在常量池中是否能找到符号引用,检查该符号引用所表示的类是否被加载,解析和初始化,如果没有就调用当前类加载器查找.class文件进行类加载。
    2.2 为对象分配内存
    2.2.1 指针碰撞:内存规整的情况下
    2.2.2 空闲列表:内存不规整
    2.2.3 保证并发安全:TLAB
    2.3 初始化分配到的内存
    对所有属性赋初值。
    2.4 设置对象头
    将对象所属类,GC信息(分代年龄),hashcode值,锁信息(偏向锁,可重入锁,state值等)等存入对象头中。
    2.5.执行init方法
    初始化成员变量,调用构造器,把堆内对象的首地址赋给引用变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值