写点什么

有关单例模式的总结

用户头像
跳蚤
关注
发布于: 2021 年 01 月 17 日

单例模式,顾名思义就是只有一个实例,自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

单例模式创建方式主要有以下几种:

  1. 懒汉式

public class SinglonTest {

private static SinglonTest instance = null;

private SinglonTest(){}


public static synchronized SinglonTest getInstance(){

if (instance == null){

instance = new SingonTest();

}

return instance;

}

}

  1. 饿汉式

public class SinglonTest {

private static SinglonTest instance = new SinglonTest();

private SinglonTest(){}


public static SinglonTest getInstance(){

return instance;

}

}

  1. 双检锁

public class SinglonTest {

private static SinglonTest instance = null;

private SinglonTest(){}


public static SinglonTest getInstance(){

if (instance == null){

synchronized(SinglonTest.class){

if (instance == null){

instance = new SingonTest();

}

}

return instance;

}

}


  1. 静态内部类

public class SinglonTest {

private static class SinglonTestHolder {

private static final SinglonTest INSTANCE= new SinglonTest();

}

private SinglonTest(){}


public static SinglonTest getInstance(){

return SinglonTestHolder.INSTANCE;

}

}

用户头像

跳蚤

关注

技术成就了我,我相信技术能让我飞 2020.08.06 加入

本人从事软件开发20年,系统架构7年,担任部门经理、架构部经理、技术经理

评论

发布
暂无评论
有关单例模式的总结