对象创建jvm中分配内存有两种策略,
1、指针碰撞;
基于内存空间连续
2、空闲列表
内存空间不连续
(基于gc回收策略,如果gc有压缩内存空间的策略就是用1,否则2)
线程安全性问题:
高并发的时候就有线程安全问题
在高并发的环境下可能会同一个时间会请求建立多个对象。
解决方案:
1、synchronized代码块,让创建对象一个一个的执行。(效率低)
2、本地线程分配缓冲TLAB,每个线程在对内存中分配一快空间,进行创建对象
初始化对象
执行构造方法(实际是调用初始化方法)
后续补充完善!