java singleton好文 mark http://www.infoq.com/cn/articles/double-checked-locking-with-delay-initialization/