黑马程序员——设计延迟加载的“单例设计模式”
来源:互联网 发布:mac excel打开乱码 编辑:程序博客网 时间:2024/05/21 11:00
------- android培训、java培训、期待与您交流! ----------
懒汉式特点:实例会延迟加载
今天看毕老师的线程部分,学到了如何设计延迟加载的单例设计模式;
单例设计模式分两种:
1、饿汉模式
2、懒汉模式
先上饿汉式代码:
// 饿汉式class Single{private static final Single s = new Single();private Single(){}public static Single getInstance(){return s;}}饿汉模式,在私有化类的时候就加载了实例,这种模式对资源消耗较大,所以衍生出了懒汉模式;
//懒汉式
class Single{private static final Single s = null;private Single(){}public static Single getInstance(){// Single 前面加上 synchronized 可以解决安全隐患的问题,但是比较低效// 使用同步代码块,解决效率问题,由于是静态方法,不能写this,所以“锁”要用 Single.class if( s == null){ // 使用双重判断,解决效率问题synchronized(Single.class){if( s == null ){s = new Single(); // 对象实例化被延迟}}}}}
懒汉式特点:实例会延迟加载
存在问题:如果多线程访问时,会出现安全隐患;
解决方法:此时要使用同步代码块包裹实例化代码,但是稍微低效,可以用双重if判断,解决效率问题
使用的锁:是用该类所属的字节码为对象锁;
0 0
- 黑马程序员——设计延迟加载的“单例设计模式”
- 黑马程序员,延迟加载的单例设计模式
- 黑马程序员---------------------编写一个延迟加载的单例设计模式
- 延迟加载的单例设计模式
- 延迟加载的单例设计模式
- 黑马程序员—单例设计模式
- 黑马程序员—单例设计模式
- 黑马程序员—单例设计模式
- 黑马程序员--设计模式——单例设计模式
- 黑马程序员—单例模式的设计
- java编写一个延迟加载的单例设计模式
- 黑马程序员 Java的设计模式——单例设计模式
- 黑马程序员——单例设计模式、装饰设计模式以及享元设计模式
- 黑马程序员————单例设计模式
- 黑马程序员———java 单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员——单例设计模式
- 黑马程序员——单例设计模式
- html之表格渐变
- Android中启动其它应用的几种方式
- 交叉熵代价函数
- PDF转换成PPT转换器的特点和使用方法
- SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
- 黑马程序员——设计延迟加载的“单例设计模式”
- Ubuntu linux下安装sqlite3
- Mysql权限规范
- android开发中有用的网站
- 常见嵌入式Web服务器比较
- 微一微博的应用项目源码
- VGA Signal Timing
- jsp元素包含三类
- 为什么不能用 memcached 存储 Session