目录
-
- 单例模式
- 单例模式的饿汉式实现
- 单例模式的懒汉式实现
- 饿汉式和懒汉式的对比
- 懒汉式的线程不安全演示
- 线程安全的懒汉式
单例模式
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。我们听说比较多的就是单例模式,工厂模式,代理模式。
单例模式,或者叫单例设计模式,就是采用一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
所以这就要求我们把类的构造方法的访问权限设置成private,这样在类的外部就不能使用new产生类的对象了。这个唯一的对象,我们只在类的内部产生。类的外部如果想得到这个对象可以调用该类的静态方法返回。又因为静态方法只能访问静态成员变量,所以这个对象还得声明成静态的。
比较熟悉的有几种实现方式,如饿汉式、懒汉式。
单例模式的饿汉式实现
饿汉:还没用就造好了。
class Singleton {
private Singleton() {
}private static Singleton instance = new Singleton();public static Singleton getInstance() {
return instance;}
}public class Main {
public static void main(String[] args) {
Singleton instance1 = Singleton.getInstance();Singleton instance2 = Singleton.getInstance();System.out.println(instance1 == instance2); //true,地址值一样,一个对象}
}<