Java语言规范7,第17.4.5节:
5. The default initialization of any object happens-before any other
actions (other than default-writes) of a program.这到底是什么意思?什么是默认初始化?你能举几个例子吗?
发布于 2013-10-01 16:45:05
默认初始化是将实例的字段分配给它们各自的默认值。的过程
引用的那个部分告诉您,在调用构造函数之前就会发生这种情况。
发布于 2013-10-01 16:56:06
发生-以前是一个并发术语。从表面上看,它是你所想的,但它超越了这一点。对于非最终的、非易失性的字段,Java并不保证字段值在线程之间通过同步进行同步,除非某些东西建立在关系之前发生的情况。
规范的这一部分意味着访问对象的其他线程将看到默认的初始化值,即使您在构造函数中生成了一个线程。
https://stackoverflow.com/questions/19121527
复制相似问题