当前位置: 首页 > news >正文

Java设计模式: 单例模式

1.需要传递参数:

public class Singleton{
    private volatile static Singleton instance = null;
    private int value = 0;
    private Singleton(){
        value = 1024;
    }
    public static Singleton getInstance(Context context){
        if (instance == null){
            synchronized (Singleton.class){
                if (instance == null){
                    instance = new Singleton(context.getApplicationContext());
                }
            }
        }
    }
}

2.不需要传递参数

public class Singleton{
    private Singleton(){}
    public static Singleton getInstance(){
         return SingletonHolder.instance;
    }
    
    private static class SingletonHolder{
        private static final Singleton instance = new Singleton();
    }

 

转载于:https://www.cnblogs.com/yongdaimi/p/10910368.html

相关文章:

  • webpack4.0介绍与使用(一)
  • Java 8中处理集合的优雅姿势——Stream
  • Linux上部署Springboot相关命令
  • ArrayList中的ConcurrentModificationException,并发修改异常,fail-fast机制。
  • vue-cli从2升级到3报错error 404 Not Found: @wry/context@^0.4.0
  • 创建数据结构库基础设施——异常类的构建
  • Windows下SVN的下载、安装
  • centOS7网络配置
  • angularJS 自定义服务
  • JqGrid纵向合并单元格
  • 线程池之ThreadPoolExecutor线程池源码分析笔记
  • Azure DevOps Server (TFS) 修改工作项附件大小限制
  • 二十三、NFS企业级优化
  • [百度百科]PCI-E的速度
  • AI numpy
  • Android Studio:GIT提交项目到远程仓库
  • Android框架之Volley
  • FastReport在线报表设计器工作原理
  • FineReport中如何实现自动滚屏效果
  • Git同步原始仓库到Fork仓库中
  • HTTP那些事
  • iOS编译提示和导航提示
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • PHP面试之三:MySQL数据库
  • 多线程事务回滚
  • 解决iview多表头动态更改列元素发生的错误
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 通信类
  • HanLP分词命名实体提取详解
  • Java数据解析之JSON
  • Spring第一个helloWorld
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • #Z0458. 树的中心2
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)JAVA中的堆栈
  • .Net - 类的介绍
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .Net Core与存储过程(一)
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .sys文件乱码_python vscode输出乱码
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • [20150321]索引空块的问题.txt
  • [C语言][C++][时间复杂度详解分析]二分查找——杨氏矩阵查找数字详解!!!
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分
  • [Firefly-Linux] RK3568修改控制台DEBUG为普通串口UART