单实例模式

/**
 * 单实例模式-懒汉模式
 * 原理:第一次被引用时才会被实例化  
 */
public class ConnDB {
	public static ConnDB db = null;

	public static ConnDB connDB() {
		if (db == null) {
			db = new ConnDB();
		}
		return db;
	}

}

/**
 * 单实例模式-恶汉模式
 * 原理:类加载实例化一个对象 
 */
public class ConnDB {
	public static ConnDB db = new ConnDB();

	public static ConnDB connDB() {
		return db;
	}
}


用于在多线程访问时可能会出现创建多个实例,若果用synchronized的话又会影响效率,一般优先使用恶汉模式。

你可能感兴趣的:(java,多线程)