151218设计模式之单例模式

来源:互联网 发布:淘宝一件代销赚钱吗 编辑:程序博客网 时间:2024/05/18 02:09
package java151218;


/*
 * 设计模式:解决某一类问题最行之有效的方法
 * java设计模式共有23中
 * 单例设计模式:解决一个类在内存中只存在一个对象;
 * 见证游戏开发,生命周期较长的类,
 * 例如软件的配置文件,application
 */
class SingleDemo {


public static void main(String[] args) {
System.out.println("Hello World!");


// new Single();
Single single = Single.getInstance();// 这样就确保了对象的唯一性


}
}


//写法一:


/*
 * 保证对象唯一 1,为了避免其他程序过多建立该类对象.先控制其他程序该类建立对象 2,还为了让其他程序可以访问该类对象,自己定义一个对象
 * 3,为了方便其他程序对自定义对象的访问,可以提供一下访问方式? 代码体现
 */


/*
class Single {
private Single() {


}


private static Single single = new Single();



public static Single getInstance() {
return single;
}
}


*/


//写法二
class Single {

private Single() {


}


private static Single single = null;


/**
* 获取Single类唯一的对象,加把锁 synchronized,比较锁的位置不同在cpu的处理
* @return single
*/
public static  Single getInstance() {
// if (single==null) {
// single=new Single();
// }
//双重判断
if (single==null) {
synchronized(Single.class){
if (single==null) {
single=new Single();
}
}
}
return single;
}
}
0 0
原创粉丝点击