对象在内存中的布局-对象的创建

对象的创建

··············new 类名()——》加载,连接,初始化类——》给对象分配内存(对象存储在堆中)——》把分配的内存初始化为0值——》调用对象的构造方法

·············a.给对象分配内存——》b.线程安全性问题——》c.初始化对象——》d.执行构造方法、

a.给对象分配内存

  两种方法:

    1.指针碰撞(java堆规整)

    2.空闲列表(java堆不规整)

      方法决定:java堆是否规整

    java堆是否规整 :有垃圾回收策略决定

b.线程安全性问题

  1.线程同步

  2.本地线程分配缓冲

c.初始化对象

  将分配的内存初始化0值

d. 执行构造方法和代码块

原文地址:https://www.cnblogs.com/mm163/p/10844174.html