黑马程序员技术交流社区

标题: 关于单例设计懒汉式和饿汉式的区别 [打印本页]

作者: 我心去飞翔    时间: 2015-5-23 22:27
标题: 关于单例设计懒汉式和饿汉式的区别
  1. //懒汉式和饿汉式的案例
  2. //单例设计时建议使用饿汉式

  3. class Single
  4. {
  5.                 private int num;
  6.                 public void setNum(int num){
  7.                         this.num=num;
  8.                 }         
  9.                 public int getNum(){
  10.                         return this.num;
  11.                 }
  12.                 /* Single(){}

  13.                 private static Single s =new Single();
  14.                 public static Single getInstance(){
  15.                         return s;
  16.                 }*///    饿汉式:  Single类进内存时,对象已经创建好
  17.             private Single(){}
  18.                 private static Single s=null;
  19.                 public static Single getInstance(){

  20.                                 //if(s==null){
  21.                   // synchronized(Single.class)//给对象上锁
  22.                                 if(s==null)
  23.                                         s=new Single();
  24.                                         return s ;
  25.                                 }   
  26.                   //  }懒汉式:对象是方法被调用时才初始化,
  27.          //  也叫做对象的延时加载,Single类进内存时对象还没有存在,只有调用了getInstance方法时才建立对象
  28. }
  29. class  SingleDemo
  30. {
  31.         public static void main(String[] args) {
  32.          Single s1=Single.getInstance();
  33.         Single s2=Single.getInstance();
  34.         // Single s1=new Single();
  35.         // Single s2=new Single();
  36.           s1.setNum(30);
  37.           System.out.println(s2.getNum());
  38.         }
  39. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2