单例模式的使用
1.为何需要单例模式
(1)每个线程对系统操作都需new一个实例
(2)初始化时的I/O操作消耗系统资源,影响系统性能分析
(3)对于每个线程,可共享一个实例
2.单例模式说明
3.单例模式分类
4.代码实现
饿汉模式:
public class Singleton02 {
//购票数量
int num=100;
//创建当前对象,私有静态
private static Singleton02 Singleton = new Singleton02();
//封装构造方法
private Singleton02(){}
//提供公共静态方法,供外部获取当前对象
public static Singleton02 getInstance(){
return Singleton;
}
}
懒汉模式:
public class Singleton03 {
//购票数量
int num=100;
//创建当前对象,私有静态
private static Singleton03 Singleton;
//封装构造方法
private Singleton03(){}
//提供公共静态方法,供外部获取当前对象
public static Singleton03 getInstance(){
if(Singleton==null){
Singleton=new Singleton03();
}
return Singleton;
}
}
//单例模式获取对象
//单例模式--饿汉模式
Singleton02 instance1 = Singleton02.getInstance();
//单例模式--懒汉模式
Singleton03 instance3 = Singleton03.getInstance();
5.总结