Java对象初始化的过程

1. 类加载检查
  首先在常量区检查有没有该类的引用,如果没有,就开始执行类的加载,解析,初始化这个过程。

2. 分配内存
  类加载之后就知道需要给对象分配多少内存,分配内存的方法有“碰撞指针”和“空闲列表”两种方法。

3. 初始化0值
  给对象的成员变量初始化0值,这样不给成员变量赋值也可以直接用。

4. 设置对象头
  设置对象头内容,包括实例是哪个类的实例,类的元信息位置,GC分代年龄等。

5. 执行init方法
  执行init方法,利用用户自定义的值,初始化对象。

  对象在内存中的存储区域大致可以分为三个部分:对象头,实例数据,对齐填充。
  定位一个对象的方法有:句柄,直接访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值