作者:mobiledu2502862343 | 来源:互联网 | 2023-09-02 18:23
单例模式是设计模式中比较简单的一种。适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。典型的情况是,那些对象的类型被遍及一个软件系统的不同对象访问,因此需要一个
单例模式是设计模式中比较简单的一种。适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,
它们都是原型的例子。典型的情况是,那些对象的类型被遍及一个软件系统的不同对象访问,因此需要一个全局的访问
指针,这便是众所周知的单例模式的应用。
经典的单例模式有三种,懒汉式、饿汉式和懒汉式单例模式改进式
“懒汉式”是在你真正用到的时候才去建这个单例对象,所以是线程不安全的
懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。

测试懒汉式的函数


测试结果

饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变。


懒汉式的改进

运用静态内部类的方式,在类被调用的时候才会产生对象