0
点赞
收藏
分享

微信扫一扫

Java单例模式复习(二)


心血来潮,在学学单例模式,以下是代码块,延迟加载的单例的执行,实现代码如下:

package singleton;
 /**
  * 延迟加载的单例的执行
  * @author Administrator
  *
  */
 public class SingletonLazy {
 private SingletonLazy(){
     
 }
 private static SingletonLazy instance=null;
 public static synchronized SingletonLazy getInstance(){
     if(instance==null){
         instance=new SingletonLazy();
     }
     return instance;
 }

 }
 /**
  * 这里必须注意,getInstance方法必须是同步的,否则在多线程环境下,当线程A正创建单例时候,完成赋值操作前,线程B可能判断instance为Null,
  * 所以这时候线程B也创建单例,从而导致多个实例产生,所以这里必须加上关键字synchronized, 
  */

举报

相关推荐

0 条评论