单例模式
单例模式是众多设计模式的其中一种.有且只有一个实例对象的设计,就是单例模式.
为了节约内存空间和减少性能开销
单例模式有两种实现方式
1.饿汉式
public class Singleton {
//1.私有化构造器
private Singleton() {}
//2.声明一个私有的实例对象
private static Singleton instance = new Singleton();
//3.提供一个公共静态的方法给外部调用,来使用内部的实例对象
public static Singleton getInstance() {
return instance;
}
}
2.懒汉式(此时是线程不安全的)
public class Singleton {
private Singleton() {}
private static Singleton instance = null;
public static Singleton getInstance() {
if ( instance == null ) {
instance = new Singleton();
}
return instance;
}
}
3.枚举法
public enum Singleton {
INSTANCE;//如果下面有方法,就不能省略 ; 号
}
本文详细介绍了单例模式的概念及其在Java中的两种常见实现方式:饿汉式和懒汉式,并探讨了线程安全问题。此外,还提到了使用枚举类型实现单例的优雅方式,这种方式既保证了线程安全,又避免了反射和序列化导致的单例破坏问题。
4786

被折叠的 条评论
为什么被折叠?



