单例设计模式

来源:互联网 发布:国家电网数据分析师 编辑:程序博客网 时间:2024/06/06 07:45

一.      单例设计模式:保证一个类对外只提供一个实例对象。

二.      好处:节约内存资源,提高性能。

三.      应用场景:

1.      widows中的任务管理器;

2.      数据库连接池:避免数据库连接或者关闭引起的性能消耗。

3.      多线程连接池。

四.      

实现方式:

publicclass SingleTon1 {

     //饿汉式

//1.私有化一个该类的静态对象

     privatestatic SingleTon1st=new SingleTon1();

//2.定义一个构造函数

     private SingleTon1(){

          

     }

//3.提供一个对外访问的方法

     publicstatic SingleTon1getInstance(){

          returnst;

     }

}

 

public class SingleTon2 {

     //懒汉式

private static SingleTon2 st=null;

private SingleTon2 (){};

public static synchronized SingleTon2getInstance(){

     if(st==null){

          st=newSingleTon2();

     }

     returnst;

}

}

//双重锁的判定

public class SingleTon3 {

private static SingleTon3 st=null;

private SingleTon3(){};

public static SingleTon3 getInstance(){

     if(st==null){

          synchronized(SingleTon3.class){

                if(st==null){

                     st=newSingleTon3();

                }

          }

     }

     returnst;

}

}

 

五.      懒汉式和饿汉式的区别:

饿汉式:随着类的加载便实例化一个对象,浪费资源,在多线程方面是安全的;

懒汉式:只有调用的时候才实例化一个对象,节省资源,在多线程方面存在安全,需要加同步锁机制。

 

 

 

 

 

 

0 0
原创粉丝点击