单例模式是我们平时使用最多的一种设计模式。它的设计目的是为了保证一个类只有一个对象实例。单例模式的实现思路为:首先我们需要私有化类的构造器,然后创建一个该类对象的静态属性,对用户暴露一个静态方法来返回该类对象的实例。下面我来介绍一下实现单例模式的几种方式: 1.饿汉式: 2.懒汉式(线程不安全的): ...
分类:
其他好文 时间:
2019-01-28 18:22:44
阅读次数:
195
背景:并发知识是一个程序员段位升级的体现,同样也是进入BAT的必经之路,有必要把并发知识重新梳理一遍。 并发concurrent: 使用ThreadLocal可以实现线程范围内共享变量,线程A写入的值和线程B获取到的结果一致;ReentrantReadWriteLock允许多个读线程或多个写线程同时 ...
分类:
其他好文 时间:
2019-01-20 00:10:04
阅读次数:
193
单例模式是一个很经典的设计模式,在java中无处不在。比如spring中的bean注入,工具类的编写等。但是在刚接触单例模式时候,我总对这个饱汉式和饿汉式的称呼理解不好。下面来讲一讲我自己的理解。1)饿汉模式(传统销售式) 2)懒汉模式(饥饿营销式) ...
分类:
编程语言 时间:
2019-01-10 10:53:04
阅读次数:
202
单例模式:目的:保证每个类只有一个静态对象实现方式: 1.构造函数私有化 2.公有静态类对象指针 3.产生静态类对象指针的公有函数分类:懒汉式:在需要的时候才进行初始化 优点:避免内存消耗 缺点:需要加锁,影响执行效率饿汉式:一开始就进行初始化 优点:不需要加锁,执行速度快 缺点:会造成内存消耗 注 ...
分类:
编程语言 时间:
2019-01-09 22:48:23
阅读次数:
250
单例模式创建方式有以下几种方式: 饿汉模式 懒汉模式 注册式模式 枚举式模式 序列化模式 1.饿汉模式 在类加载时初始化,也是利用类加载线程安全的特性确保了单例实例化的线程安全。 package com.kancy.pattern.single; /** * 单例模式 - 饿汉模式 * @autho... ...
分类:
其他好文 时间:
2019-01-06 10:48:33
阅读次数:
156
懒汉模式 线程不安全 懒汉模式 线程安全 饿汉模式 饿汉模式 变种 静态内部类 双重校验锁 枚举 ...
分类:
编程语言 时间:
2019-01-03 14:01:33
阅读次数:
169
单例模式: 和new类似,用来创建实例。 单例对象的类保证了只有一个实例存在。 原理: 1、该类的构造函数定义为私有方法,这样外面不能通过new实例化此类,只能在类里面实例化 2、类返回一个获取实例的方法 构建方式: 懒汉方式:全局的单例实例在第一次被使用是创建 饿汉方式:全局的单例实例在类装载时构 ...
分类:
其他好文 时间:
2019-01-02 13:35:01
阅读次数:
202
单例模式属于java设计模式的一种,最常见实现方式有以下几种 懒汉、饿汉、双重检查单例、静态内部类单例。 单例模式的特点: 1:单例类只能有一个实例 2:单例类的唯一实例化必须由自己完成 3:单例类给其他对象提供唯一实例 ...
分类:
编程语言 时间:
2018-12-31 17:31:49
阅读次数:
204
前言 java最常见的设计模式就是单例模式,而单例模式最常见的就是懒汉式和饿汉式,现在就分别看一下 1.懒汉式 懒汉式比较懒,当别人用到时才会初始化实例,而当有多个人同时用到就可能产生多个实例,造成线程安全问题。 2.饿汉式 饿汉式比较饿,在别人没有使用时就是先准备好了一份食物,因此别人来拿的时候都 ...
分类:
编程语言 时间:
2018-12-27 00:39:32
阅读次数:
232
代码注释有介绍 这是SingleTon1(饿汉式)时会出现的问题。 ...
分类:
编程语言 时间:
2018-12-24 23:44:33
阅读次数:
341