1 懒汉模式

public class Singleton {

private Singleton singleton = null;

private Singleton() {

}

public Singleton getInstance() {

if (singleton == null) {

singleton = new Singleton();
       } else {

return singleton;

}

}
}

问题在于不是线程安全的。要线程安全,在getInstance前面加上synchronized关键字即可,但是开销太大。

2 饿汉模式

public class Singleton {

private Singleton singleton = new Singleton();

private Singleton() {

}

public Singletion getSingleton() {

return singleton;
    }

}

3 静态内部类

public class Singleton {

private static class SingletonHolder {

private static Singleton instance = new Singleton();

}

public static Singleton getInstance() {

return SingletonHolder.instance;
    }

}

最新文章

  1. [Cordova] Plugin开发架构
  2. xcode升级导致git无法使用
  3. Java程序员的日常—— 基于类的策略模式、List<?>与List、泛型编译警告、同比和环比
  4. jQuery自定义漂亮的下拉框插件8种效果演示
  5. JSP隐含变量和Spring中Model在EL表达式中的读取顺序
  6. Radar之字节流加载图片
  7. Can jxta be used to develop online card game (p2p style)?
  8. 小测几种python web server的性能
  9. dede导航设置成单页面内容
  10. underscorejs-every学习
  11. debain 解决无法显示中文
  12. 编写jeb插件打印目标方法的交叉引用
  13. 对Textbox的值转换为带千位符和小数的Decimal字符串
  14. Java线程状态及Thread类中的主要方法
  15. CAS实现SSO单点登录原理(转)
  16. Windows7 安装完成mysql dos启动服务出现服务名称无效
  17. Xampp相关命令
  18. Tomcat的安装与配置
  19. maven generating project in batch mode hang
  20. SpringCloud(3)---Eureka服务注册与发现

热门文章

  1. 如何在requirejs下引用bootstrap
  2. linux信号-------初涉
  3. 第0章Linux环境到内核基础知识
  4. Python和其他进程的管道通信方式--popen和popen2的比较
  5. javascript解决小数的加减乘除精度丢失的方案
  6. 死磕 java同步系列之AQS起篇
  7. 2017-11-07-noip模拟题
  8. POJ 3140 Contestants Division (树dp)
  9. 浅析PropertySource 基本使用
  10. Css实现一个菜单导航