一、什么是单例模式
单例模式是指在应用整个生命周期内只能存在一个实例。单例模式是一种被广泛使用的设计模式。他有很多好处,能够避免实例对象的重复创建,减少创建实例的系统开销,节省内存。
二、单例模式的创建
1.饿汉模式
这种模式适合占用资源少,在初始化的时候就会被用到的类。
public class SglDemo{
//2.新建一个属性
private static SglDemo sglDemo = new SglDemo(); //新建属性的时候就初始化属性
//1.构造器私有化
private SglDemo(){
}
//3.提供一个外部获取本类对象的公共方法
public static SglDemo getInstence(){
return sglDemo;
}
}
在main函数中只能通过 SglDemo sg1 = SglDemo.getInstence();来获取SglDemo类的对象。
2.懒汉模式
这种模式就是延迟加载,也叫懒加载。在程序需要用到的时候再创建实例,这样的“懒”保证了内存不会被浪费。
public class SglDemo2{
//2.新建一个本类型的属性
private static SglDemo2 sglDemo2 = null; //建立这个属性的时候还没有初始化
//1.构造器私有化
private SglDemo2(){}
//3.对外提供创建本类对象的方法
public static SglDemo2 getInstance(){
if(sglDemo == null){
sglDemo2 = new SglDemo2();
}
return sglDemo2;
}
}
在main函数中通过 SglDemo2 sg2 = SglDemo2.getInstence();来获取SglDemo2类的对象。