JAVA单例模式

来源:互联网 发布:在淘宝买steam游戏 编辑:程序博客网 时间:2024/06/08 06:58

一、为什么要用到单例模式

 JAVA中的单例模式就是确保一个类只提供一个实例,该实例自动创建,并向系统提供该实例。

有时候我们需要多次读取一个配置文件时,将配置文件封装成对象。会方便操作其中数据,又要保证读到的是同一个配置文件对象,就需要该配置文件对象在内存中是唯一的。这个时候为了保证类在内存中的唯一性,就需要使用单例模式了。

二、单例模式的写法

1) 饿汉式,线程不安全

上述做法mSingleton是静态的,因此能够保证程序运行过程中只有一个实例。但如果多个线程调用就可能出问题,比如两个线程同时调用getInstance(),就有可能产生两个实例。

2)懒汉式 线程安全


这种写法可以在多线程下很好的工作,不过效率很低,多数情况下不需要同步

3)双重校验锁(double-check


第二种的升级版,解决了高并发效率低的问题,几乎可以满足大多数场合

0 0
原创粉丝点击