概念 发布对象:使一个对象能够被当前范围之外的代码所使用。 在我们的日常开发中,我们经常要发布一些对象,比如通过类的非私有方法返回对象的引用,或者通过公有静态变量发布对象。 对象逸出:一种错误的发布。当一个对象还没有构造完成时,就使它被其他线程所见。 代码演示 见代码在publish包中 安全发布对象示例(多种单例模式演示) 1、在静态初始化函数中初始化一个对象引用2、将对象的引用保存到volatile类型域或者AtomicReference对象中3、将对象的引用保存到某个正确构造对象的final类型域中4、将对象的引用保存到一个由锁保护的域中 具体代码演示