Java的单例
1. 懒汉式(Lazy Initialization)
这种方式在第一次调用时创建实例,延迟实例的创建。
2. 线程安全的懒汉式
通过同步方法来保证线程安全。
3. 双重检查锁定(Double-Checked Locking)
通过双重检查来减少同步的开销。
4. 饿汉式(Eager Initialization)
在类加载时就创建实例,简单且线程安全。
5. 静态内部类(Static Inner Class)
利用类加载机制确保单例的延迟初始化和线程安全。
6. 枚举单例
使用枚举来实现单例,简洁且天然支持序列化。
Java的单例
https://blog.liuzijian.com/post/H8FR4HF8H4U94.html