其他分享
首页 > 其他分享> > 单例模式_听韩顺平课笔记

单例模式_听韩顺平课笔记

作者:互联网

1.单例介绍

单例设计模式,就是采取一定的方法保证整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。

如:Hibernate中的SessionFactory

单例模式有八种实现方式:

1.饿汉式(静态常量)
2.饿汉式(静态代码块)
3.懒汉式(线程不安全)
4.懒汉式(线程安全)
5.懒汉式(同步代码块)
6.DoubleCheck
7.静态内部类
8.枚举方式

2.静态常量饿汉式

实现步骤:

静态常量饿汉式的优缺点:

3.静态代码块饿汉式

除了将实例化过程放在静态代码块中外,实现与静态常量饿汉式一致,也有一样的优缺点

4.线程不安全懒汉式(实际开发过程中不要使用)

实现思路:提供一个静态的公有方法,当使用到该方法时,才去创建instance

优缺点:
优点:实现了 Lazy Loading的效果,但只能在单线程下使用
缺点:多线程下不安全

5.线程安全,同步方法懒汉式(实际开发过程中不推荐使用,效率低)

优缺点:
优点:解决线程不安全问题
缺点:效率太低

6.同步代码块懒汉式(实际开发过程中不要使用)

将同步方法,改为同步产生实例化的代码块

优缺点:

7.DoubleCheck(推荐使用)

使用volatile关键字

优缺点:

8.静态内部类(推荐使用)

静态内部类的两个特点:

9.枚举方式(推荐使用)

10.单例模式JDK源码分析

JDK中java.lang.Runtime就是经典的单例模式(饿汉式)

单例模式注意事项和使用细节

11.单例模式总结

标签:单例,静态,优缺点,笔记,模式,饿汉,懒汉,顺平
来源: https://www.cnblogs.com/CH0701/p/15366019.html