Java学习笔记---设计模式之单例模式
来源:互联网 发布:用vb制作按键精灵插件 编辑:程序博客网 时间:2024/05/23 19:10
一、引言
单例模式是设计模式中最常用的一种,也是工作面试中会被经常问到的一种,因此,这篇文章将主要讲述如何实现单例模式,以及单例模式的一些优缺点。
二、单例模式的定义
单例模式就是为了保证一个类在运行中只能有一个实例的一种设计模式。
三、单例模式的实现方式
1.实例变量实现(俗称懒汉式)
public class Singlton{ private Singlton instance;private Singlton(){}public static Singlton getInstance(){if(instance==null){instance = new Singlton();}}public void sFunc(){//do something;}}
考虑同步的话可以加上相应的同步锁:
public static synchronized Singlton getInstance(){ if(instance == null){ instance=new Singlton(); }}
2.静态内部类实现
public class Singlton{private Singlton(){}private static class InstanceHolder{public static final Singlton instance=new Singlton();}public static Singlton getInstance(){return InstanceHolder.instance;}public void sFunc(){//do something;}}
天生线程安全(网评:最好的实现方式)
3.类变量实现(俗称饿汉式)
public class Singlton{private Singlton(){}private static final Singlton instance=new Singlton();public static Singlton getInstance(){return instance;}public void sFunc(){//do something;}}线程安全
4.枚举实现
public enum SingleInstance{Instance;private SingleInstance(){}public void doFunc(){//do something}}
调用方式:
SingleInstance.Instance.doFunc();
ps:JDK1.5之后才可以使用
四、类图
五、总结
单例模式在项目中被经常用到,比如Android中的Log类,WindowManagerGlobal类都是用单例模式实现的,因此掌握单例模式是一项必备技能,至于用那种方式实现单例模式还需要根据具体的使用场合来做决定。
1 0
- Java设计模式学习笔记之单例模式
- Java学习笔记---设计模式之单例模式
- java学习笔记-设计模式之单例模式
- 设计模式学习笔记(Java篇)之单例模式
- 黑马程序员------java学习笔记之单例设计模式
- 黑马程序员Java学习笔记之单例设计模式
- 黑马程序员-Java学习笔记之设计模式(单例设计模式,装饰设计模式,模板设计模式)
- 设计模式之单例学习笔记
- 学习笔记07-设计模式之单例设计模式
- Java设计模式之单例设计模式学习
- java核心基础学习笔记-------设计模式之单例设计模式
- java学习笔记之——设计模式(一)单例设计模式
- 设计模式学习笔记(一)之单例模式(Singleton)
- 研磨设计模式学习笔记之单例模式
- 设计模式学习笔记之单例模式
- 设计模式学习笔记之单例模式
- 学习笔记--设计模式之单例模式
- 设计模式学习笔记之单例模式
- C++:类的定义及初始化问题
- ArrayAdapter和SimpleAdapter
- 关于GDI+一般性错误
- leetcode-3Sum Closest
- comparator comparable 区别
- Java学习笔记---设计模式之单例模式
- 漫话 Shape 、 layer-list 和Selector
- 追书神器网络协议分析
- 【Java】Java执行MySQL数据库的删除操作
- 开启计算机软件学习之路
- 成长编码5
- lightoj 1349 - Aladdin and the Optimal Invitation 【中位数的运用】
- BDD敏捷开发入门与实战
- hdu2178 猜数字