单列模式的介绍

Posted 夕阳游子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单列模式的介绍相关的知识,希望对你有一定的参考价值。

 

1. 单例模式的作用和应用场景(不全后面补充)

1.1保证里面Java应用程序中,只有一个实例的存在。比如:浏览网站显示当前在线人数,就是用一个单例的对象。

2.单例模式的几种写法

2.1注意事项:

(1)下面的写法都是正确的,只是有优缺点,适用的场景不同而已。

(2)单例模式都是把构造方法私有化,外部不能进行创建实例的操作,只提供给外界获取对象的方法。

 

2.2懒汉式,只适合单线程,多线程不安全

在多线程的情况下,可能会被实例多次

2.3对懒汉式进行改造,通过关键字synchronized对方法进行加锁,线程安全

这种写法能在多线程中很好的工作,但是每次调用都加同步锁,效率变低。

2.4饿汉式

不管用不用,都会在类加载的时候创建对象,如果使用十分少,就浪费了内存

2.5静态内部类

这个方式是最好的,使用的时候才创建单例对象,同时保证了线程的安全。

 

最后总结:单例模式的使用,依靠的就是静态内部类,使用的时候创建保证效率同时能安全。

思考:静态内部类还有那些好处?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于单列模式的介绍的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之单列模式

单列模式

设计模式: 单列设计模式 模块方法设计模式

创建类设计模式-单列模式.py

单列模式

单列模式