From e13a9566c010d416f20844cd836801e8860e41b9 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Sat, 31 Oct 2026 00:23:20 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E8=AE=BE=E8=AE=A1=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=20=20-=20=E5=8D=95=E4=BE=8B.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充饿汉式实例的创建时机。 --- notes/设计模式 - 单例.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notes/设计模式 - 单例.md b/notes/设计模式 - 单例.md index b1dbf698..c466d6df 100644 --- a/notes/设计模式 - 单例.md +++ b/notes/设计模式 - 单例.md @@ -38,7 +38,7 @@ public class Singleton { 线程不安全问题主要是由于 uniqueInstance 被实例化多次,采取直接实例化 uniqueInstance 的方式就不会产生线程不安全问题:静态变量在类初始化时赋值,类的初始化由 JVM 加锁且只执行一次。 -但是直接实例化的方式也丢失了延迟实例化带来的节约资源的好处。 +但是直接实例化的方式也丢失了延迟实例化带来的节约资源的好处。实例在类初始化时创建,不一定在程序启动时;访问类中其它非常量静态成员或通过反射(例如 Class.forName())触发类初始化,都会使实例早于第一次调用 getUniqueInstance() 创建。 ```java private static Singleton uniqueInstance = new Singleton();