Java设计模式-01单例模式
来源:互联网 发布:枪神纪刷枪软件2016 编辑:程序博客网 时间:2024/06/16 22:49
单例模式
1、概念
确保一个类最多只有一个实例,并提供一个全局访问点2、示例
//经典单例模式public class Singleton { //1、静态实例 private static Singleton instance=null; //2、私有化构造方法 private Singleton(){ }; //3、全局访问方式 public static Singleton getInstance(){ if(instance==null){ instance=new Singleton(); } return instance; }}3、优化
缺陷:多线程情况下,可能会产生多个实例//方式1:直接创建实例public class Singleton { //初始化的时候,就生成实例 private static Singleton instance=new Singleton(); private Singleton(){ }; public static Singleton getInstance(){ return instance; }}//方式2:双重判定public class Singleton { //加volatile修饰 private volatile static Singleton instance=null; private Singleton(){ }; public static Singleton getInstance(){ //一重判定(不同步) if(instance==null){ synchronized (Singleton.class) { //二重判定(同步) if(instance==null){ instance=new Singleton(); } } } return instance; }}
阅读全文
0 0
- Java设计模式-01单例模式
- java设计模式-01单例模式
- java 设计模式,单例设计模式
- java设计模式-单例设计模式
- java设计模式-单例设计模式
- Java设计模式 单例设计模式
- Java设计模式------单例设计模式
- java设计模式----->单例设计模式
- java设计模式:单例设计模式
- java设计模式-----单例设计模式
- Java设计模式----单例设计模式
- java设计模式-单例设计模式
- java设计模式:单例设计模式
- java 设计模式-单例设计模式
- Java设计模式--单例设计模式
- java设计模式---单例设计模式
- Java设计模式-单例设计模式
- JAVA设计模式:单例设计模式
- Spring学习篇:AOP知识整理
- AVL的c++详解——插入
- (0054)iOS开发之制作静态库详解
- Java实现棋盘格子走法
- 汉诺塔的递归应用
- Java设计模式-01单例模式
- struts2生成随机验证码图片
- linux查看可执行代码或库是32还是64bit,还是都兼容
- 在mysql日志中输出错误sql语句
- /////*Julia*/////这大概可以叫做笔记?
- AVL的c++详解——删除
- 使用struts2的token机制和cookie来防止表单重复提交
- D001-开发工具-VS Code
- SAP启用检查双重Invoice功能