mirror of
https://github.com/CyC2018/Interview-Notebook.git
synced 2026-11-01 03:23:42 +00:00
Update 设计模式 - 单例.md
补充饿汉式实例的创建时机。
This commit is contained in:
+1
-1
@@ -38,7 +38,7 @@ public class Singleton {
|
||||
|
||||
线程不安全问题主要是由于 uniqueInstance 被实例化多次,采取直接实例化 uniqueInstance 的方式就不会产生线程不安全问题:静态变量在类初始化时赋值,类的初始化由 JVM 加锁且只执行一次。
|
||||
|
||||
但是直接实例化的方式也丢失了延迟实例化带来的节约资源的好处。
|
||||
但是直接实例化的方式也丢失了延迟实例化带来的节约资源的好处。实例在类初始化时创建,不一定在程序启动时;访问类中其它非常量静态成员或通过反射(例如 Class.forName())触发类初始化,都会使实例早于第一次调用 getUniqueInstance() 创建。
|
||||
|
||||
```java
|
||||
private static Singleton uniqueInstance = new Singleton();
|
||||
|
||||
Reference in New Issue
Block a user