单例模式
来源:互联网 发布:淘宝新店卖啥好 编辑:程序博客网 时间:2024/06/16 12:43
单例模式: 定义:有且只有一个实例 应用场合:有些对象只需要一个就足够了.如古代皇帝,老婆作用:保证整个应用程序中某个实例有且只有一个.常用的单例模式有两种: 1.饿汉模式步骤: 1.1构造方法私有化. (被private修饰的变量与方法只能在本类使用,因此外界无法通过构造方法直接创建对象,只能通过类名调用该类 的public静态成员与方法.) 1.2.本类中直接创建一个类的唯一实例,并且是一个私有静态的实例. 1.3.创建一个公共的静态方法来返回该实例,外界可以直接通过类名调用该方法获取得到实例对象. public class SingleTon{ //构造方法私有化 private SingleTon(){ } //创建类的唯一实例,使用private static修饰. private static SingleTon instance=new SingleTon(); //创建返回该实例的方法供外界使用,必须是public static修饰. public static SingleTon getInstance(){ return instance; } }
2.懒汉模式2.1.把构造函数设置成private(外界不能直接通过构造函数来申明类对象) 2.2.申明一个这个类的私有成员对象(没有初始化) 2.3.建立Get方法来让外界获取这个类对象(如果是第一次调用这个类的话,就初始化类的私有成员对象,如果 不是第一次访问的话就直接返回这个私有对象)
public class SingleTon{//构造方法私有化 private SingleTon(){ } //声明一个类的引用,使用private static修饰. private static SingleTon instance; //创建返回该实例的方法,使用是public static修饰,方法中判断实例是否已经被实例化过. public static SingleTon getInstance(){ if(instance==null){ //第一次使用时会实例化该引用.instance=new SingleTon(); } return instance; } }懒汉模式a和饿汉模式b的区别 b 加载类比较慢,但运行时获取对象的速度比较快,线程安全,因为加载类的时候需要创建唯一的实例对象 a 加载类是比较快,但是在运行时获取对象的速度比较慢,线程不安全,需要加锁,加载类的时候不需要创建对 象
1 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- Java ConcurrentModificationException异常原因和解决方法
- 翻转链表
- hdu 1022 简单的栈应用
- Tomcat 安装以及部署网站实例
- ARM SMMUv3 architecture in linux
- 单例模式
- [BZOJ3189][Coci2011][扫描线][线段树]Slika
- 引用
- YOLO V2教程之训练自己的数据
- Jquery怎么获取select选中项 自定义属性的值
- SpringMVC3的ResponseBody返回字符串乱码问题解决
- Win10下Python的安装及相关库的安装
- python——爬虫学习——Beautiful Soup库的使用-(2)
- 文章标题