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

    单例模式:

      把构造函数私有化在类内提供本类的静态对象,然后通过静态方法将该对象返回从而保证了在整个的过程中只有一个对象的存在

      饿汉式

        在类加载的时候就顺便把本类对象初始化的形式

      懒汉式

        先定义好对象,在调用方法的时候在初始化这个对象的方式推迟了初始化。

      区别:

        饿汉式由于一上来就初始化对象,可能会导致内存的耗费。

        懒汉式会有多线程的并发安全问题

     1 public class SingletonDemo {
     2 
     3     @SuppressWarnings("unused")
     4     public static void main(String[] args) {
     5         TaskManager tm = TaskManager.getInstance();
     6     }
     7 
     8 }
     9 
    10 class TaskManager {
    11 
    12     // 任务管理器在整个过程中只有一个---不允许在类外创建对象
    13     // 私有化构造函数
    14     private TaskManager() {
    15     }
    16 
    17     // 唯一
    18     // 在类初始化的时候就把本类的静态对象初始化的形式---饿汉式
    19     // 只有一个实例
    20     // private static TaskManager tm = new TaskManager();
    21     //先定义好兑现,在调用具体方法的时候才去初始化这个对象的方式---懒汉式(会出现多线程并发安全问题)
    22     private static TaskManager tm ;
    23 
    24     public static TaskManager getInstance() {
    25         if (tm == null) {
    26             tm = new TaskManager();
    27         }
    28         return tm;
    29     }
    30 }
  • 相关阅读:
    amq笔记:记一个关于PooledConnectionFactory的问题
    ganglia笔记:rrd数据库
    ganglia笔记:rrds目录
    golang笔记:unsupported driver -> Scan pair: <nil> -> *string
    golang笔记:cookie
    golang笔记:net/smtp
    spring笔记
    Qt坑点汇总
    QT自定义控件系列(二) --- Loading加载动画控件
    Qt自定义控件系列(一) --- 圆形进度条
  • 原文地址:https://www.cnblogs.com/tongxuping/p/6832302.html
Copyright © 2011-2022 走看看