java设计模式 单例模式
来源:互联网 发布:2017淘宝热销产品 编辑:程序博客网 时间:2024/06/16 23:39
这个模式大家应该都用过,目的就是保证类的对象的唯一性,那么在实现的过程中呢,有多种方法。
- 饿汉式,类加载就创建
这个也是写起来最方便的
package bean;public class SingleBean { //实例化私有对象 private static SingleBean singleBean=new SingleBean(); //封装构造方法避免其它类直接new private SingleBean(){ } //提供get方法 public static SingleBean getSingleBean() { return singleBean; }}
2.懒汉式 同步代码双重判断
package bean;public class SingleBean { //实例化私有对象 private static SingleBean singleBean; //封装构造方法避免其它类直接new private SingleBean(){ } //提供get方法 public static SingleBean getSingleBean() { if(singleBean==null){ synchronized (SingleBean.class) {//同步代码块,避免线程安全错误 if(singleBean==null){//再次判断 singleBean=new SingleBean(); } } } return singleBean; }}
3.使用java的枚举 很简单
如果对java的枚举不熟悉可以点击java 枚举详解
package bean;public enum SingleBean { SINGLEBEAN;}
4.使用一个静态内部类持有对象,避免初始化的时候加载
package bean;public class SingleBean { // 封装构造方法避免其它类直接new private SingleBean() { } private static final class SingleBeanHolder {//静态内部类 private static SingleBean singleBean = new SingleBean(); } public static SingleBean getSingleBean() { return SingleBeanHolder.singleBean; }}
除了第一中饿汉式,其它的都不会在加载类的时候进行初始化,且都是线程安全的。
阅读全文
1 0
- java 设计模式,单例设计模式
- java设计模式-单例设计模式
- java设计模式-单例设计模式
- Java设计模式 单例设计模式
- Java设计模式------单例设计模式
- java设计模式----->单例设计模式
- java设计模式:单例设计模式
- java设计模式-----单例设计模式
- Java设计模式----单例设计模式
- java设计模式-单例设计模式
- java设计模式:单例设计模式
- java 设计模式-单例设计模式
- Java设计模式--单例设计模式
- java设计模式---单例设计模式
- Java设计模式-单例设计模式
- JAVA设计模式:单例设计模式
- java-单例设计模式
- Java设计|单例模式
- 368Largest Divisible Subset
- webview自适应图文详情
- java ftp上传下载(包含删除操作)
- SpringBoot-07引擎模板thymeleaf和freemarker的使用
- 配置多个过滤器
- java设计模式 单例模式
- IP与子网掩码的计算规则
- android使用全局变量的两种方法
- andriod自带模拟器使用代理
- Android_APK 之使用IDA脱壳环境搭建
- C++中的单例模式
- JAVA初级
- Android:你要的WebView与 JS 交互方式 都在这里了
- .NET的添加,删除,查询