-
单例模式是什么
单例模式就是指,一个类的实例有且仅有一个,并且要提供一个访问它的全局访问点。 -
单例模式分为饿汉式和饱汉式
饿汉式,就是在类加载时就创建实例。
public class Properties {
// 类加载时创建本实例
private static Properties instance= new Properties();
// 禁止外部访问构造函数
private Properties() {
}
// 提供类访问
public static Properties getInstance(){
return this.instance;
}
}
懒汉式,在获取实例的时候再创建实例。
public class Properties {
// 先不创建实例
private static Properties instance= null;
// 禁止外部访问构造函数
private Properties() {
}
// 延迟加载对象实例
public static Properties getInstance() {
if (instance == null) {
instacne = new Properties();
}
return instance;
}
}
懒汉式在多线程环境下需要考虑线程安全问题,可以通过加同步锁的方式保证懒汉式的线程安全。
...
public static synchronized Properties getInstance() {
...