设计模式——单例模式
Posted shenqiaqia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式——单例模式相关的知识,希望对你有一定的参考价值。
这次来看下单例模式,这次就没有类图了。
直接看代码吧:
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; } }
以上是关于设计模式——单例模式的主要内容,如果未能解决你的问题,请参考以下文章