程序代码:上面的就是典型的“饿汉模式”,就是急不可耐,一上来就初始化对象。那能不能使用的时候才实例化对象呢?也就是希望延迟加载,这就是所谓的“懒汉模式”。程序代码如下:在并发情况下,多个线程同时“抵达”if判断这块,那么势必对象会被多次new。那么“懒汉模式”下..
分类:
编程语言 时间:
2016-11-25 07:39:57
阅读次数:
234
1、首先介绍一下什么是单例模式: java单例模式是一种常见的设计模式,那么我们先看看懒汉模式: 这是没有考虑线程安全问题的,因为在线程并发的情况下,容易有多个实例,所以这是个线程不安全的模式。还有像饿汉模式这样的: 这个模式在类初始化的时候就已经实例化了,保证了唯一一个实例,这是线程安全的。 2、 ...
分类:
其他好文 时间:
2016-11-24 09:03:34
阅读次数:
633
1.单例设计模式 (1)懒汉模式 (2)饿汉模式 懒、饿汉之间的比较 (1)加载时机 懒汉:懒汉很懒,只有当调用getInstance()方法时,才会初始化这个实例类 饿汉:饿汉很饥饿,类一旦加载,实例就初始化完成,保证在调用getInstance()方法时,单利是已经存在的 (2)线程安全性 懒汉 ...
分类:
其他好文 时间:
2016-11-18 09:45:04
阅读次数:
125
首先写个单例,懒汉模式: 写个测试类: 运行结果一直都是true,说明单线程下是没问题的,下面写个多线程来访问单例 使用多线程并发访问单例: 运行结果如下: [com.persagy.thread.SingleDemo@1bc4459, com.persagy.thread.SingleDemo@1 ...
分类:
编程语言 时间:
2016-11-11 19:25:32
阅读次数:
177
运行期间有且仅有一个实例。(比较耗系统性能的时候用单例模式) 关键点:1,一个类只有一个实例,只提供私有的构造器2,它必须自行创建这个实例,定义了静态的该类的私有对象3,它必须自行向整个系统提供这个实例,提供了一个静态的public方法 (返回创建或获取本身的静态私有对象) 懒汉模式:(1,加同步锁 ...
分类:
其他好文 时间:
2016-11-02 23:37:07
阅读次数:
162
一、单例模式之饿汉模式 二、懒汉模式 三、测试 四、结果 true true ...
分类:
其他好文 时间:
2016-10-14 23:13:34
阅读次数:
141
饿汉模式又称为立即加载模式,含以上就是非常急 也就是在使用类的时候已经将对象创建完毕 然后我们用简单的多线程测试 126720696 126720696126720696 算出来的结果每个对象的 hashcode的值是一样的,说明这个模式是符合单例模式的,这个也就是立即加载型单例设计模式 第二种单例 ...
分类:
编程语言 时间:
2016-10-11 21:40:29
阅读次数:
177
遇到以下写法,冒号后面是对变量赋值 代码位置: 1 局部变量创建 直接在作用域内A a(对应无参数构造函数)以及A a(1) (带参数构造函数)在栈上创建对象 2 引用的问题 c的函数如果不带引用是按照值传递的!如下函数 这样写交换对象是没用的。 因为指针是值传递的,离开了swap函数一切照旧 ...
分类:
编程语言 时间:
2016-10-08 19:42:53
阅读次数:
173
懒汉模式线程不安全: package com.ddy.singleton; public class Singleton { private static Singleton instance; private Singleton(){ } public static Singleton getIn ...
分类:
其他好文 时间:
2016-10-07 01:50:24
阅读次数:
180