单例设计模式:解决一个类在内存中只有一个对象就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等。
多个程序使用统一配置信息对象时,需要保证该对对象的唯一性。
保证对象唯一性的实现步骤:
1.将构造函数私有化:为了避免其他程序过多建立该对象,禁止其他程序调用该对象。
2.在类中创建一个本类对象:为了让其他程序可以访问该类对象
3.提供一个方法可以获取到该对象的方法:方便其他程序访问自定义的本类对象。
饿汉式:一进内存 就创建了对象
class single{
private single(){}1.将构造函数私有化
private static single s=new single();2.在类中创建一个本类对象
public static single getInstance(){3.提供一个方法可以获取到该对象的方法
return s;
}}
public class SingleDemo {
public static void main(String[] args) {
single ss=single.getInstance();
}}
懒汉式:什么时候调用什么时候创建对象,对象的延时加载
class single{
private single(){}
private static single s=null;
public static single getInstance(){
if(s==null){
synchronized(Single.class)//同步锁
{
if (s==null){
s=single.getInstance();
}
}
}
return s;
}}
public class SingleDemo {
public static void main(String[] args) {
single ss=single.getInstance()
}}