文章目录
单例模式是校招中最常考的设计模式之一。也是最简单的设计模式之一。
啥是设计模式?
设计模式就好比套路,软件开发中有许多常见的“问题场景”,有经验的程序员们总结出一些固定的套路,按照这个套路可以解决大部分软件开发遇到的问题。这些套路就称为“设计模式”。
单例模式
单例模式能保证每个类在程序中只创建出一份实例,不会创建多个实例。例如我们在JDBC编程中的DataSource实例。
单例模式属于创建型模式,提供一种创建对象的最佳方式。这个模式中涉及一个单一的类,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
单例模式的实现方式
需要注意的是:单例类只能有一个实例;单例类必须自己创建自己的唯一实例;必须给所有其他对象提供这一实例。
饿汉模式(线程安全)
类加载的同时,创建实例。这种方式比较常用,但容易产生垃圾对象。但是没有加锁就能保证单例,执行效率会提高。
public class Singleton {
//创建 SingleObject 的一个对象
private static Singleton instance = new Singleton();
//私有的构造方法,防止在类外调用,禁止调用者在其他地方创建实例
private Singleton(){
}
public static Singleton getInstance(){
return instance;
}
}