(多线程-单例设计模式-懒汉式)
2015-10-13 17:45
369 查看
/* 单例设计模式。 饿汉式 ---> 常用 懒汉式 ---> 区别: 懒汉式:延迟加载,但会出现安全问题,解决方法加同步(synchronized)同步代码块与同步函数都行,但稍微有点低效。用双重判断的方法可以解决效率问题。 加同步是使用的锁是该类的字节码对象 即 : 类名.class */ //饿汉式。 /* class Single { private static final Single s = new Single(); private Single(){} public static Single getInstance() { return s; } } */ //懒汉式 class Single { private static Single s = null; private Single(){} /* public static synchronized Single getInstance() { if(s==null) s = new Single(); return s; } */ public static Single getInstance() { if(s==null) { synchronized(Single.class) { if(s==null) //--->A; s = new Single(); } } return s; } } class SingleDemo { public static void main(String[] args) { System.out.println("Hello World!"); } }
相关文章推荐
- 医疗保险
- iOS 之 runtime --- 集百家之言
- Spring旅程(一)为什么使用Spring
- C# 知识点随手学习网站推荐
- 动态设置uitableview高度,参考
- 第三例:Activity的生命周期
- 新装 nginx 容易报的错误Primary script unknown
- ViewFlipper实现界面切换效果
- 史上最详细的Android Studio系列教程三--快捷键
- Android 叶子动态loading动效分析与实现!
- FragmentManager与getSupportFragmentManager()
- 配置多路径显示自定义名称
- 【linux学习笔记】samba在RHEL7上配置
- String s1 ; String s2=null ; String s3=”” ; String s4=new String(“”) ; 的区别。
- 网页在移动设备上实现自动缩放
- Grunt安装、配置及应用
- Xcode git commit失败 unable to auto-detect email address
- 16.1 目标跟踪的项目
- Knockout应用开发指南 第七章:Mapping插件
- 参数的传递方式、变量的作用域、变量的生存期、内部函数和外部函数、编译预处理命令、条件编译