zoukankan      html  css  js  c++  java
  • java单例模式

    java单例模式

    单例模式有一下特点:
      1、单例类只能有一个实例。
      2、单例类必须自己自己创建自己的唯一实例。
      3、单例类必须给所有其他对象提供这一实例。
      单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。java应用中比如系统中数据库配置文件。

    应用场景:

    1、Web应用的配置对象的读取,一般也应用单例模式,这个是由于配置文件是共享的资源。

    2、 数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。数据库软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损耗还是非常昂贵的,因为何用单例模式来维护,就可以大大降低这种损耗。

    3、 多线程的线程池的设计一般也是采用单例模式,这是由于线程池要方便对池中的线程进行控制。

      Singleton通过将构造方法限定为private避免了类在外部被实例化,在同一个虚拟机范围内,Singleton的唯一实例只能通过getInstance()方法访问。

    代码如下:

    /***
     * 单例模式:使你的整个应用中对于该类,只存在一个实例。
     * 应用场景:系统中数据库配置的读取
     * @author xianwen
     */
    public class Singleton {
        private static Singleton  instance = null;
        private Singleton(){
            
        }
        public static synchronized Singleton getInstance() {
            if(instance == null){
                instance = new Singleton();
            }
            return instance;
        }
    }
  • 相关阅读:
    Redis 之 数据持久化、主从复制、哨兵、集群
    Linux 之 MySQL(mariadb) 主从复制
    python 面试题
    Linux 之 nginx相关
    Linux 之redis 的安装及使用
    Linux 之 安装虚拟环境virtualenvwrapper
    Vue使用Element-ui走马灯功能动态改变图片和容器大小
    文本信息抽取的方法
    python3 将文本用utf-8编码方式写入txt文件
    一个比celery更简单的python异步模块rq
  • 原文地址:https://www.cnblogs.com/564085446java/p/3651268.html
Copyright © 2011-2022 走看看