概述:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 关键点: (1)饿汉模式 饿汉式单例模式(在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快) (2)懒汉模式 懒汉模式声明一个静态对象,并且在用户第一次调用getInstance时进行初始化。 synchronize ...
分类:
编程语言 时间:
2019-04-18 00:48:49
阅读次数:
163
所谓单例模式就是只能有一个实例。如何只有一个实例呢?就是不能创建更多的实例,所以构造函数一般私有化,不能new一个新的对象,提供一个访问方法,只能通过这个访问点获取到唯一的对象实例。 常见实现方式有两种:懒汉模式和饿汉模式。 懒汉模式:就是很懒咯,不是一开始就装载好,而是你要用的时候我再创建。 eg ...
分类:
编程语言 时间:
2019-04-14 16:07:50
阅读次数:
171
1.在阅读Android源代码的时候会发现,对于一个简单的问题,这些代码也设计的非常复杂,有各种类和各种嵌套,这些代码看起来一点都不直观,为的是让代码更加容易扩展,引入和很多设计模式。当理解了这些设计模式后再去看Android源代码就不会感觉那么复杂了。 2.单例模式:在一个进程(包括一个进程的多个 ...
分类:
其他好文 时间:
2019-04-06 00:04:14
阅读次数:
135
[toc] String中字符串==分析 new String new String都是在堆上创建字符串对象。 intern() 调用intern()方法时,编译器会将字符串添加到常量池中(StringTable维护),并返回指向该常量的引用。 通过字面量赋值 如:String str = "twn ...
分类:
其他好文 时间:
2019-03-29 10:25:19
阅读次数:
209
参考:Singleton单例模式(懒汉方式和饿汉方式) 单例模式中的懒汉和饿汉模式的区别 ...
分类:
其他好文 时间:
2019-03-27 00:26:01
阅读次数:
214
1、单例模式 饿汉模式 public class Singleton { private static final Singleton INSTANCE = new Singleton(); // Private constructor suppresses // default public co ...
分类:
编程语言 时间:
2019-03-19 16:43:53
阅读次数:
174
简单懒汉模式: Foo.h Foo.cpp ...
分类:
编程语言 时间:
2019-03-12 10:44:45
阅读次数:
174
1.饿汉模式 该模式指调用方法前,实例已经被创建了。 该模式线程安全。 2. 懒汉模式(延迟加载) 所谓延迟加载就是在调用获取实例方法时实例才被创建,常见的实例办法就是在获取实例时进行new 对象。 修改上面myObject代码,继续执行后结果,粗看结果是正确的,但稍微再次修改一下。 可见这种写法存 ...
分类:
编程语言 时间:
2019-03-04 19:24:46
阅读次数:
201
懒汉模式和饿汉模式: 在多线程环境下,代码1和代码2之间,这里会有线程安全问题,线程A和线程B同时到代码1和代码2之间,两个线程同时创建两个对象,这不符合单例模式; 解决方案: 可用双重检查锁来实现 以下是双重检查锁的代码: ...
分类:
编程语言 时间:
2019-03-02 00:42:08
阅读次数:
241
设计模式: ①单例模式(饿汉模式,懒汉模式) ②工厂模式 ③观察者模式 ④代理模式 多线程: 线程池 mysql: 锁:排他锁,共享锁 sql分析:show profiles, explain 索引实现原理(btree) 主从同步怎么实现 冷热数据怎么处理 redis: 哨兵模式 大量key同时过期 ...
分类:
编程语言 时间:
2019-03-01 14:17:14
阅读次数:
193