美文网首页
单例模式的实现

单例模式的实现

作者: 树心图物 | 来源:发表于2019-04-24 17:31 被阅读0次

饿汉式:

public class A {
private static A a = new A();
private A() {
}
public static A getInstance() {
return a;
}
}

懒汉式:(线程不安全)

public class A {
private static A a = null;
private A() {
}
public static A getInstance() {
If a == null {
A = new A();
}
return a;
}
}

懒汉式:(线程安全方式但不推荐)

public class A {
private static A a = null;
private A() {
}
public static synchronized A getInstance() {
If a == null {
A = new A();
}
return a;
}
}

懒汉式:(线程安全方式但有几率出错,因为对象的内存申请和初始化不同步的原因)

public class A {
private static A a = null;
private A() {
}
public static synchronized A getInstance() {
synchronized (A.class){
If a == null {
A = new A();
}
}
return a;
}
}

静态内部类方式:(推荐)

public class A {    
    private static class AHolder {    
        private static A a = new A();    
    }    
    private A (){}    
    public static A getInstance() { 
        return AHolder.a;   
    }    
}  

相关文章

  • Android设计模式总结

    单例模式:饿汉单例模式://饿汉单例模式 懒汉单例模式: Double CheckLock(DCL)实现单例 Bu...

  • 单例模式

    一、实现单例模式 或者 二、透明的单例模式 三、用代理实现单例模式 四、JavaScript中的单例模式 在Jav...

  • python面试题-2018.1.30

    问题:如何实现单例模式? 通过new方法来实现单例模式。 变体: 通过装饰器来实现单例模式 通过元类来创建单例模式...

  • 单例模式之枚举类enum

    通过枚举实现单例模式 枚举类实现单例模式的优点 对于饿汉式单例模式和懒汉式单例模式了解的同学,使用以上两种单例模式...

  • 单例模式

    单例模式及C++实现代码单例模式4种实现详解 c++11改进我们的模式之改进单例模式 单例模式(Singleton...

  • 单例模式和GCD单例实现

    1、传统单例模式2、GCD单例模式3、用宏实现GCD单例模式4、用宏实现GCD单例模式,名称随类名变化而变化 单例...

  • kotlin实现单例模式

    1.懒汉式实现单例模式 2.线程安全懒汉式实现单例模式 3.双重校验懒汉式实现单例模式 4.静态内部类方式实现单例模式

  • 单例模式

    饿汉模式: 懒汉模式: Double CheckLock(DCL)实现单例 静态内部类实现单例 枚举单例 使用容器...

  • iOS 单例

    单例模式实现不能使用继承 定义单例实现 简写 定义单例实现宏

  • 单例模式的常用实现方式

    单例模式属于最常用的设计模式,Java中有很多实现单例模式的方式,各有其优缺点 实现方式对比 单例实现方式线程安全...

网友评论

      本文标题:单例模式的实现

      本文链接:https://www.haomeiwen.com/subject/gifngqtx.html