Update 设计模式 - 单例.md

补充饿汉式实例的创建时机。
This commit is contained in:
CyC2018
2026-10-31 00:23:20 +08:00
parent c976ed4b9d
commit e13a9566c0
+1 -1
View File
@@ -38,7 +38,7 @@ public class Singleton {
线程不安全问题主要是由于 uniqueInstance 被实例化多次,采取直接实例化 uniqueInstance 的方式就不会产生线程不安全问题:静态变量在类初始化时赋值,类的初始化由 JVM 加锁且只执行一次。
但是直接实例化的方式也丢失了延迟实例化带来的节约资源的好处。
但是直接实例化的方式也丢失了延迟实例化带来的节约资源的好处。实例在类初始化时创建,不一定在程序启动时;访问类中其它非常量静态成员或通过反射(例如 Class.forName())触发类初始化,都会使实例早于第一次调用 getUniqueInstance() 创建。
```java
private static Singleton uniqueInstance = new Singleton();