A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王艳静 于 2015-8-18 12:00 编辑

问:懒汉式和饿汉式有什么不同?
答:懒汉式的特点在于,示例延迟加载

问:示例延迟加载有没有问题?
答:多线程加载会出现安全问题
问:怎么解决?
答:加同步,用同步函数和同步代码块都能解决。而同步函数比较低效,每次都要判断锁。用同步代码块,双重判断,即在判断同步之前,判断对象是否为空。

问:同步时,使用的哪一个锁
答:静态的同步方法,使用的锁是该方法所在类的字节码文件对象。Single.class

代码:
  1. class Single{
  2.         private static Single s = null;
  3.         private Single(){}
  4.         public static Single getIntance(){
  5.                 if(s==null){
  6.                         //静态的同步方法,使用的锁是该方法所在类的字节码文件对象。类名.class
  7.                         synchronized(Single.class){               
  8.                                 if(s==null)
  9.                                         s = new Single();
  10.                         }               
  11.                 }
  12.                 return s;               
  13.         }        
  14. }
复制代码


5 个回复

倒序浏览
静姐好霸气
回复 使用道具 举报

老师上课讲的原话,整理下而已{:2_34:}  其实只是为了技术分{:2_40:}
回复 使用道具 举报
王艳静 发表于 2015-8-18 12:03
老师上课讲的原话,整理下而已  其实只是为了技术分

你在哪上课呢
回复 使用道具 举报

家里看视频啊{:2_32:}
回复 使用道具 举报

好吧,,,自学呢??
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马