1、单例模式:

一、懒汉式:

//懒汉式单例类.延迟加载,在第一次调用的时候实例化自己

public class SingleTon{

private static SingleTon instance;

private SingleTon(){}

public static synchronized SingleTon getInstance(){//这种方式在方法上加同步,每次调用该方法都要同步

if(instance==null){

instance = new SingleTon();

}

return instance;

}

}

public static SingleTon getInstance(){//双重检查锁定,只有第一次调用单例的时候才会做同步

if(instance==null){

synshronized(SingleTon.class){

if(instance==null){

instance = new SingleTon();

}

}

}

return instance;

}

public class SingleTon{//利用了classloader的机制来保证初始化instance时只有一个线程,所以也是线程安全的,同时没有同步的性能损耗

private static class LazyHolder{

private static SingleTon instane = new SingleTon();

}

private SingleTon(){}

public static SingleTon getInstance(){

return LazyHolder.instance;

}

}

二、恶汉式:

//饿汉式单例类.在类初始化时,已经自行实例化,天生线程安全

public class SingleTon{

private static SingleTon instance = new SingleTon();

private SingleTon(){}

public static SingleTon getInstance(){

return instance;

}

}

php 恶汉单例,单例模式中懒汉式和恶汉式相关推荐

  1. php 恶汉单例,单例模式的两种方式(恶汉式,懒汉式)

    单例模式的两种形式(恶汉式,懒汉式) 单例模式的特点:解决了一个类在内存的唯一性,这个类的对象只有一个. 写单例模式的步骤: 1. 私有修饰构造方法 2. 在本类的成员位置, new 自己类的对象 3 ...

  2. 单例设计模式中懒汉式和饿汉式的区别?

    什么时候创建.安全方面.实现方式 1.基本了解 懒汉模式:在类加载的时候不被初始化. 饿汉模式:在类加载的时候就完成了初始化,但是加载比较慢,获取对象比较快. 2.安全方面 懒汉模式在创建对象时不加上 ...

  3. (单例设计模式中)懒汉式与饿汉式在多线程中的不同

    /*目的:分析一下单例设计模式中,懒汉式与饿汉式在多线程中的不同!开发时我们一般选择饿汉式,因为它简单明了,多线程中不会出现安全问题!而饿汉式需要我们自己处理程序中存在的安全隐患,但是饿汉式的程序技术 ...

  4. java 单例 dcl_java 中单例模式DCL的缺陷及单例的正确写法

    1 前言 单例模式是我们经常使用的一种模式,一般来说很多资料都建议我们写成如下的模式: /** * Created by qiyei2015 on 2017/5/13. */ public class ...

  5. 在spring中,prototype scoped bean 如何注入单例bean中

    2019独角兽企业重金招聘Python工程师标准>>> 参考博文:http://www.javacodegeeks.com/2012/08/spring-scoped-proxy.h ...

  6. 单元测试 applicationinfomanager bean无法注入_你真的会用Spring吗?如何在单例Bean中注入原型Bean...

    遇到什么问题 假设单例 BeanA 需要使用原型 BeanB(BeanB 可能是 BeanA 的一个属性值).可是容器仅创建一次单例 BeanA,因此只有一次机会来设置属性 BeanB. @Scope ...

  7. php 懒汉式单例,单例模式:饿汉和懒汉

    接下来就说下单例模式了,这个在实际应用还是比较常用的! 首先,单例分为懒汉式和饿汉式: 饿汉式:类加载的时候,创建对象. 因此类加载速度慢, 线程相对安全 懒汉式:类加载的时候,不会创建对象,调用时才 ...

  8. 关于Java单例模式中懒汉式和饿汉式的两种类创建方法

    一. 什么是单例模式 因程序需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计. 二. 单例模式的特点 1. 单例模式只能有一个实例. 2. 单例类必须创建 ...

  9. 单例模式中懒汉式和饿汉式的区别区别在哪?

    一.单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式.所谓单例就是在系统中只有一个该类的实例,或者说 ...

最新文章

  1. scala学习手记34 - trait方法的延迟绑定
  2. (转)字符型指针变量与字符数组的区别
  3. 日本公司用人工智能帮人做金融交易
  4. MySQL中的外连接
  5. 微软为NBA提供云计算服务、Google公布Fuchsia OS细节、Zoom用户可选择数据库等|Decode the Week...
  6. ansys本地的help文件_linux - 远程拷贝文件之rsync
  7. mysql俩个表之间关联语法_MySQL多表关联SQL语句调优
  8. 一文理解JDK静态代理、JDK动态代理、Cglib动态代理
  9. 算法提高 解二元一次方程组(java)
  10. 赛门铁克第三财季运营业绩稳步增长
  11. 人工智能与深度学习概念(2)——人工神经网络-ANN
  12. zstuoj 4245 KI的斐波那契
  13. [ 原创 ]学习笔记-Android中隐式Intent 的使用
  14. 黑群晖 DSM 6.2 3617 成功安装教程
  15. Discuz论坛项目架构分析
  16. word自动编号与文字间距太大怎么办
  17. 文件上传插件 bootstrap-fileinput ,后台使用的C#语言
  18. NVIDIA RTX A6000深度学习训练基准
  19. 《电子签名法》:CA名词解释
  20. 什么是同源策略,所带来的影响

热门文章

  1. 还在用书签栏?太low了,Python能为网站添加快捷方式!
  2. JS入门,写一句你自己喜欢的话吧!
  3. ubuntu 14.04 sunpinyin解决yue, jue, jiong等拼音输入问题
  4. 企业真的会做背调吗?都调查些什么?
  5. 建设业务服务管理平台的规划蓝图
  6. 有趣的java程序员
  7. 全世界公认最美的地方
  8. 数据实时分析:日志监控告警系统(一)
  9. Windows搭建RTMP服务器+OBS推流+VLC拉流
  10. (转载)动画大师宫崎骏的创作感想