单例模式设计

技术单例模式设计 单例模式设计1、饿汉式/*** 饿汉式:直接创建对象,不管你是否需要,都会创建这个对象;** 1、构造器私有化* 2、自动创建,并且用静态保存* 3、向外提供这个实例* 4、强调这是一

单例模式设计

1、饿汉式

/**

* 饿汉式:直接创建对象,不管你是否需要,都会创建这个对象;

*

* 1、构造器私有化

* 2、自动创建,并且用静态保存

* 3、向外提供这个实例

* 4、强调这是一个单利模式,可以用最后的修饰

*/

公共类单线1 {

私有single on1(){ 0

}

公共静态最终single on1 INSTANCE=new single on1();

}

2、枚举

/**

* 枚举类型:表示该类型的对象是有限的几个,

* 我们定义成一个,就成了单利模式

*/

公共枚举单例2

情况

}

3、适用于初始化比较复杂的实例

/**

* 适用于初始化比较复杂的实例;

*/

公共类单线3 {

公共静态最终单线实例3

私有单例3(){ 0

}

静态{

//此处初始化其他数据;

INSTANCE=new Singlet 3();

}

}

4、懒汉式

/**

* 懒汉式:延迟创建这个实例对象;

*

* 1、构造器私有化

* 2、用一个静态变量保存这个唯一的实例;

* 3、提供一个静态方法,获取这个实例;

*/

公共类单线4 {

私有静态单身4实例;

私有single 4(){ 0

}

公共静态singleton 4 getInstance(){ 0

如果(实例==null){ 0

//线程。睡眠(100);此处睡眠,若两个线程同时进入,会创建两个对象

instance=new singleton 4();

}

返回实例;

}

}

/**

* 懒汉式:延迟创建这个实例对象;

*

* 1、构造器私有化

* 2、用一个静态变量保存这个唯一的实例;

* 3、提供一个静态方法,获取这个实例;

*/

公共类单线5 {

私有静态单线5实例;

私有singleton 5(){ 0

}

公共静态singleton 5 getInstance(){ 0

同步(单线5 .类){ 0

如果(实例==null){ 0

尝试{

//此处睡眠,若两个线程同时进入,会创建两个对象

线。睡眠(1000);

} catch(中断异常){ e

e。print stack trace();

}

instance=new singleton 5();

}

}

返回实例;

}

}

5、内部类的方式

//在内部类加载的时候才会创建对象情况

//静态内部类不会自动随着外部类的加载和初始化而初始化,他是单独去加载和初始化的;

公共类单线图6 {

私有singleton 6(){ 0

}

私有静态类内部{//内部类

私有静态最终singleton 6 INSTANCE=new singleton 6();

}

公共静态singleton 6 getInstance(){ 0

回归内心实例.

}

}

6、双端检索机制(DCL)

公共类单线图2 {

公共静态易失性单线态二氧化硅实例=null

私有singletondemo 2(){ 0

系统。出去。println(' single ondemo 2 ');

}

//DCL(双端检索机制)

公共静态SingletonDemo2 getInstance(){//由于指令重排机制,不一定100%线程安全

如果(实例==null){ 0

已同步(singletondemo 2。类){ 0

如果(实例==null){ 0

instance=new single ondemo 2();

}

}

}

返回实例;

}

公共静态void main(String[]参数){ 0

for(int I=0;i 1000I){ 0

新线程(()-{ 0

getInstance();

},String.valueOf(i)).start();

}

}

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154992.html

(0)

相关推荐

  • 发朋友圈文字怎么不被折叠,苹果手机朋友圈折叠怎么处理

    技术发朋友圈文字怎么不被折叠,苹果手机朋友圈折叠怎么处理下载安装“讯飞输入法”,进入输入状态,点击“快捷输入”图标,进入“剪贴板”页面发朋友圈文字怎么不被折叠。打开“朋友圈模式”,需要开启完全访问状态,点击“立即开启”。

    生活 2021年10月30日
  • Qt5.14与OpenCV4.5中图片的增强效果是怎样的

    技术Qt5.14与OpenCV4.5中图片的增强效果是怎样的这篇文章给大家介绍Qt5.14与OpenCV4.5中图片的增强效果是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、建立Qt工程1

    攻略 2021年11月29日
  • PostgreSQL搜索插件有什么优点

    技术PostgreSQL搜索插件有什么优点本篇内容主要讲解“PostgreSQL搜索插件有什么优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL搜索插件有

    攻略 2021年11月10日
  • myeclipse如何快速重写方法(为什么myeclipse突然变得很慢了)

    技术如何进行MyEclipse优化速度方案的分析这篇文章给大家介绍如何进行MyEclipse优化速度方案的分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MyEclipse优化速度方案的四大方面:

    攻略 2021年12月18日
  • arctanx的值域,arctanx的极限怎么求

    技术arctanx的值域,arctanx的极限怎么求arctanx的极限用洛必达法则求解。洛必达法则是在一定条件下通过分子分母分别求导再求极限来确定未定式值的方法。众所周知arctanx的值域,两个无穷小之比或两个无穷大

    生活 2021年10月25日
  • 技盖至此乎,做事计划周密的例子50字

    技术技盖至此乎,做事计划周密的例子50字蜀相诸葛亮,做事谨慎,善于谋划。有评语“诸葛一生唯谨慎”。隆中对为刘备谋划先取荆州,后去益州,进则争取天下,退则偏霸西蜀。,皆有好处。庖丁切牛肉切了那么多年,是小心,努力;终于在文

    生活 2021年10月20日