------------java中的恶汉模式

  

public void Test{

   private static Test inte = new Test(); // 内部自己创建好实例,私有属性(不建议在外部直接调用我们的成员变量)
  //私有的构造方法
   private Test{
//定义私有的构造方法,禁止外部直接创建实例
} public static Test getTest() { return inte; } }///创建一个方法,使外部可以得到此实例 

  

 恶汉模式的优劣:

》》》1,恶汉式 加载类的时候比较慢,运行比较快

》》》2

 1,定义私有的构造方法,禁止外部直接创建实例

 2,内部自己创建好实例,私有属性(不建议在外部直接调用我们的成员变量)

 3,创建一个方法,使外部可以得到此实例

 

 ---------------------java中的懒汉模式

/** * 懒汉式 加载类的时候比较快,运行时比较慢 *

 * 1,创建私有构造方法,禁止外部直接创建实例 *

*  2,创建私有变量实例化对象,私有属性(不建议在外部直接调用我们的成员变量)

   3,创建方法,使外部可以调用我们的私有对象实例 

 

public  class Test{


   private Test{}   //定义私有的构造 ,禁止外部直接创建示例

   private static Test test = null;  //创建私有实例

  
  public Test getTest(){  //创建方法,使外部可以调用我们的私有对象实例

    
   returen test;
 
  }


}

    **  这样也是可以的,不过,如果涉及到多线程,最好加上一个同步锁(synchronized)可以

     * * 直接在方法上添加 但是每次都要去进行同步,显然不是最好的。

     * * 最好的当然是下面的,在方法中进行加上

      synchronized * @return */

       public static Singleton getInstance() {

       if (instance == null){

         synchronized (Singleton.class){

      if (instance == null)  {

     instance = new Singleton();

     } } } return instance; }

 

 

 

posted on 2017-03-10 09:59  啷个哩个啷  阅读(2501)  评论(0编辑  收藏  举报