• 核心作用

保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。

  • 常见应用场景

  • 优点

由于单例模式只生成一个实例,减少了系统性开销,当一个对象的产生需要比较多的资源时,如读取配置,产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象

然后永久驻留内存的方式来解决

单例模式可以在系统设置全局的访问点,优化共享访问资源,例如可以设计一个单例类,负责所有数据表的映射处理

  • 5种单例模式

1、饿汉式(线程安全,调用效率高,但是不能延时加载) 
                   2、懒汉式(线程安全,调用效率不高,但是可以延时加载) 
                   3、双重检测锁式(由于JVM内部模型的原因,偶尔会出问题。这个可以解决的,具体见后面的singleton实例) 
                   4、静态内部类式(线程安全,效率高,有延时) 
                   5、枚举式(线程安全,效率高,无延时,能天然放着反射和反序列化漏洞)

最新文章

  1. MicroERP开发技术分享:技术选型
  2. -moz-transform: rotate(-5deg);
  3. C#语言——类
  4. HDU 2819 隐式二分图匹配
  5. phpcms V9 首页模板文件解析
  6. GCC 4.8.2 编译安装
  7. DataFrame转矩阵Np-Array
  8. Win8.1系统下搭建IIS8.5+php-5.6运行环境教程
  9. django的安装和搭建
  10. [topcoder]BinarySearchable
  11. Sharepoint 2013 --系统安装配置
  12. SRAM,SDRAM,网卡
  13. PDCA模型的学习
  14. ReplaceGoogleCDN:将 Google CDN 更换国家
  15. wpf之DataTrigger 数据触发器
  16. WPF DataGrid Drag
  17. web.py框架之i18n支持
  18. 网络3-Jsonp
  19. Mybatis 在 insert 之后想获取自增的主键 id
  20. CentOS英文提示修改为中文提示的方法

热门文章

  1. zTree使用随笔
  2. Android 使用NestedScrollView+ViewPager+RecyclerView+SmartRefreshLayout打造酷炫下拉视差效果并解决各种滑动冲突
  3. ios 根据字典自动生成属性
  4. PHP_RAW_POST_DATA特性
  5. Protocol Buffer学习教程之语法手册(二)
  6. Jmeter监控内存及CPU等
  7. TCP连接建立与关闭
  8. Delphi7使用二维码
  9. POJ 3260 The Fewest Coins 最少硬币个数(完全背包+多重背包,混合型)
  10. RAC数据库后台进程介绍