标签:stat nal highlight .class 下单 设计模式 单例 final sync
这次来看下单例模式,这次就没有类图了。
直接看代码吧:
public class 我_懒汉 { private static 我_懒汉 t = null; private 我_懒汉() { } public 我_懒汉 newInstance() { if(t == null) { t = new 我_懒汉(); } return t; } }
public class 我_懒汉同步 { private static 我_懒汉同步 t = null; private 我_懒汉同步() { } public synchronized 我_懒汉同步 newInstance() { if(t == null) { t = new 我_懒汉同步(); } return t; } }
public class 我_懒汉同步2 { private static 我_懒汉同步2 t = null; private 我_懒汉同步2() { } public 我_懒汉同步2 newInstance() { if (t == null) { synchronized (我_懒汉同步2.class) { if (t == null) { t = new 我_懒汉同步2(); } } } return t; } }
public class 我_饿汉 { private static 我_饿汉 t = new 我_饿汉(); private 我_饿汉() { } public 我_饿汉 newInstance() { return t; } }
public class 我_内部类 { private 我_内部类() { } private static class 内部类 { private static final 我_内部类 t = new 我_内部类(); } public 我_内部类 newInstance() { return 内部类.t; } }
public class 我_双重校验 { private static volatile 我_双重校验 t = null; private 我_双重校验() { } public 我_双重校验 newInstance() { if (t == null) { synchronized (我_懒汉同步2.class) { if (t == null) { t = new 我_双重校验(); } } } return t; } }
标签:stat nal highlight .class 下单 设计模式 单例 final sync
原文地址:https://www.cnblogs.com/shenqiaqia/p/10702690.html