单例模式创建过程:
创建一个类;
在该类下创建可用的实例,有且仅能自己类创建;
该实例必须能提供给其他类使用。
懒汉式
private static class1 instance=null;
private class1(){};//对单例模式初始化,每次返回第一次创建的构造实例;
public static class1 getInstace(){
if (instance==null)
return new class1();
else
return instace;}//静态工厂
这种方法不安全,线程A,B同时实例化时发生错误;
饿汉式;
- public class SimpleInstance2 {
- private static final SimpleInstance2 instance = new SimpleInstance2();
- private SimpleInstance2(){};
- public static SimpleInstance2 getInstance(){
- return instance;
- }
- }
单例模式自己创建好实例,不能被其他类创建,但是要提供给其他类实现;