单例设计模式属于创建型模式,提供了一种创建对象的最佳方式
基本思想:保证一个类中只能有一个实例,避免频繁的创建和销毁对象,减少内存开销, 并提供一个访问它的全局 访问点
避免对资源的多重占用(比如写文件操作)
package cn.tedu.java;
public class Singleton {
public static void main(String[] args) {
MySingleton1 s1 = MySingleton1.getInstance();
MySingleton1 s2 = MySingleton1.getInstance();
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
MySingleton2 s3 = MySingleton2.getInstance();
MySingleton2 s4 = MySingleton2.getInstance();
System.out.println(s3 == s4);
System.out.println(s3.equals(s4));
}
}
class MySingleton1 {
private MySingleton1() {}
private static final MySingleton1 singleton = new MySingleton1();
public static MySingleton1 getInstance() {
return singleton;
}
}
class MySingleton2{
private MySingleton2(){}
private static MySingleton2 singleton;
public static MySingleton2 getInstance(){
if (singleton==null){
synchronized (MySingleton2.class){
if (singleton==null){
singleton=new MySingleton2();
}
}
}
return singleton;
}
}



