判断类是否加载、为新生对象分配内存(指针碰撞或空闲列表)、内存空间都初始化为零值、设置对象头(这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息)、<init>方法。
对象的内存布局分为对象头、实例数据(在程序代码中所定义的各种类型的字段内容)和对齐填充(占位符的作用)。
对象的访问定位:
句柄访问对象:
直接指针访问对象:
判断类是否加载、为新生对象分配内存(指针碰撞或空闲列表)、内存空间都初始化为零值、设置对象头(这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息)、<init>方法。
对象的内存布局分为对象头、实例数据(在程序代码中所定义的各种类型的字段内容)和对齐填充(占位符的作用)。
对象的访问定位:
句柄访问对象:
直接指针访问对象:
转载于:https://my.oschina.net/u/4045381/blog/3067089