单例模式的使用场景
- 有频繁实例化然后销毁的情况,也就是频繁的new对象
- 创建对象时耗时过多或耗资源过多,但又经常用到的对象
- 频繁访问IO资源的对象,比如数据库连接池或访问本地文件
1.饿汉模式
public class Singleton{
private static Singleton instance = new Singleton();
private Singleton(){
}
public static Singleton getInstance(){
return instance;
}
}
2.不使用同步锁(懒汉模式)
public final class Singleton{
private static Singleton instance = null;
private Singleton(){
}
public static Singleton getInstance(){
if(instance == null)
instance = new Singleton();
return instance;