黑马程序员技术交流社区

标题: 饿汉式 和 懒汉式 [打印本页]

作者: 小脚印    时间: 2014-3-8 11:36
标题: 饿汉式 和 懒汉式
终于知道什么是饿汉式和懒汉式了~~

  1. //饿汉式
  2. class Single{
  3.         private static Single s=new Single();
  4.         private Single(){
  5.                
  6.         }
  7.         public static Single getSingle(){
  8.                 return s;
  9.         }
  10. }
  11. //懒汉式
  12. class Single(){
  13.         private static Single s=null;
  14.         private Single(){
  15.                
  16.         }
  17.         public static Single getSingle(){
  18.                 if(s==null){
  19.                         s=new Single();
  20.                 }
  21.                 return s;
  22.         }
  23. }
  24. //优化后的懒汉式,很好的解决了多线程的问题
  25. class Single(){
  26.         private static Single s=null;
  27.         private Single(){
  28.                
  29.         }
  30.         public static Single getSingle(){
  31.                 if(s==null){
  32.                         synchronized(Single.class);
  33.                         if(s==null){
  34.                                 s=new Single();
  35.                         }
  36.                 }
  37.                 return s;
  38.         }
  39. }
复制代码


作者: osully    时间: 2014-3-8 12:03
饿汉式 我记得还可以加个final

  1. //饿汉式
  2. class Single{
  3.       private static final Single s=new Single();
  4.       private Single(){
  5.               
  6.       }
  7.       public static Single getSingle(){
  8.               return s;
  9.       }
  10. }
复制代码

作者: 徐芾清    时间: 2014-3-8 22:44
osully 发表于 2014-3-8 12:03
饿汉式 我记得还可以加个final

给力,这个更严谨




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