0

Java 语言规范 7,第 17.4.5 节:

5. The default initialization of any object happens-before any other
actions (other than default-writes) of a program.

它到底是什么意思?什么是默认初始化?你能提供一些例子吗?

4

2 回答 2

2

Happens-before 是一个并发术语。从表面上看,它意味着你的想法,但它远不止于此。对于非最终的、非易失性的字段,Java 不保证字段值将通过线程同步,除非建立了先发生关系。

这部分规范意味着访问该对象的其他线程将看到默认的初始化值,即使您在构造函数中生成了一个线程。

于 2013-10-01T16:56:06.890 回答
1

默认初始化是将实例的字段分配给它们各自的默认值的过程。

您引用的那部分告诉您这发生在例如调用构造函数之前。

于 2013-10-01T16:45:05.553 回答