单例模式的实现
1.私有的构造方法
2.私有的静态的当前类对象作为属性
3.公有的静态的方法返回当前类对象
对象的加载方式
饿汉式(立即加载) 对象启动时就加载
不会产生空指针异常(有对象)
启动项目加载的对象过多 ,有些还没有使用,产生服务器承载压力的问题
懒汉式(延迟加载) 对象什么时候用什么时候加载
启动项目时候只有需要的加载 不需要的还没有创建 不会浪费空间
生命周期托管(单例对象别人帮我们处理) 对象加载过程交给别人
代码实现:
1.饿汉式
public class SingleTon {
//1.让构造方法变成私有---保证外面的某个成员位置上创建唯一的一个对象
private SingleTon(){}
//2.在当前类种存在一个私有的静态属性 是当前类类型的
private static SingleTon singleTon = new SingleTon();
//3.提供一个获取单个对象的方法给用户
//返回值 将对象返回出去
public static SingleTon getSingleTon(){//static修饰的属性 方法 只此一份
return singleTon;
}
}
2.懒汉式
public class SingleTon {
//1.让构造方法变成私有---保证外面的某个成员位置上创建唯一的一个对象
private SingleTon(){}
//2.在当前类种存在一个私有的静态属性 是当前类类型的
private static SingleTon singleTon;
//3.提供一个获取单个对象的方法给用户
//返回值 将对象返回出去
public static SingleTon getSingleTon(){//static修饰的属性 方法 只此一份 get类名 newInstance
if(singleTon==null){
singleTon = new SingleTon();
}
return singleTon;
}
}