单例模式
来源:互联网 发布:虚拟机安装mac 内存 编辑:程序博客网 时间:2024/05/16 07:00
/** * * 单例模式:饿汉式 */class Demo{ private static Demo d=new Demo(); private Demo(){} public static Demo getInstance(){ return d; }}/** * * 懒汉式:在多线程情况下会产生多例的情况,故采用双重校验以提高synchronized效率 * */class Demo1{ private static Demo1 d; private Demo1(){} public static Demo1 getInstance(){ if(d==null){ synchronized (Demo1.class) { if(d==null){ d=new Demo1(); } } } return d; }}/** * * 使用静态内部类实现单例模式 * 然而在序列化对象,使用默认的方式运行得到的结果还是多例的。 * 解决方法就是在反序列化中使用readResolve()方法 */class Demo2{ private Demo2(){} private static class Inner{ private static Demo2 d=new Demo2(); } public static Demo2 getInstance(){ return Inner.d; }}/** * * 使用静态代码块 * */class Demo3{ private Demo3(){} private static Demo3 d=null; static{ d=new Demo3(); } public static Demo3 getInstance(){ return d; }}/** * 使用枚举实现单例 * */enum Demo4{ INSTANCE;}
0 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- Linux统计/监控工具SAR详细介绍
- JAVA基础(一)——容器、栈和堆、static和final
- 相机标定 和 单应性矩阵H
- Unity在移动平台上的运用:关于打包到 Android 端的问题
- 有关RecyclerView的
- 单例模式
- VS 2008 可扩展性开发(七):操作文本编辑器
- 无题之二
- Linux基础(12)/Linux下软件安装
- 多渠道打包-友盟统计
- 56. Merge Intervals
- 解决PCB设计中下载电路CH340连接不上电脑的问题
- 设计模式之简单工厂
- VS 2008 可扩展性开发(八):关于用户界面的种种(上)