请参阅http://download.oracle.com/javase/6/docs/api/java/util/concurrent/package-
summary.html#MemoryVisibility:
每次对同一字段进行后续读取之前,都会写入易失字段。易失性字段的写入和读取与进入和退出监视器具有相似的内存一致性效果,但是不需要互斥锁定。
所以答案是肯定的。在构造函数中写入volatile发生在读取volatile中
numCreated()。并且由于非原子增量仍在同步块中完成,因此同步是可以的(增量不是原子增量,但对volatile
long的写入是正确的)。



