new关键字在生成对象时完成了三件事情:
-
为对象开辟内存空间。
-
调用类的构造方法。
-
将生成的对象的地址返回。
在并发环境下从堆中划分内存空间是非线程安全的
new是原子性操作
new运算符具有数据操作的原子性
也就是说创建一个Java对象分配内存,要么所有步骤都成功,返回对象的引用,要么回归到创建之前的内存状态,返回为NULL。
为对象开辟内存空间。
调用类的构造方法。
将生成的对象的地址返回。
在并发环境下从堆中划分内存空间是非线程安全的
new运算符具有数据操作的原子性
也就是说创建一个Java对象分配内存,要么所有步骤都成功,返回对象的引用,要么回归到创建之前的内存状态,返回为NULL。