7、单例设计模式
2016-01-17 20:39
309 查看
七、单例设计模式
1、系统结构图(xmind)2、tips
——1.设计模式的概念
解决某一问题最行之有效的方法。java中共有23种设计模式。
——2.单例设计模式
用代码实现单例设计模式需要做三部:
1、将构造函数初始化。
例:private Single(){}
2、在类中创建一个本类对象。
例:private static Single s= newSingle();
3、提供一个访问方法可以获取到该对象。
例:public static Single getInstance()
{
returns;
}
——1、饿汉式
饿汉式也就是刚三部中的示例语句。它的特点是先初始化对象。如:Single类一进内存,就已经创建好了对象。在实际开发中,出于安全考虑,建议使用饿汉式。
代码如下:
//先初始化对象。成为饿汉式 class Single { private static Single s = new Single(); private Single (){} public static Single getInstance() { return s; } }
——2、懒汉式
懒汉式的特点对象是方法被调用时,才初始化,这也叫对象的延时加载。如:在以下完整代码中,Single类进内存,对象还没有存在,只有调用了getInstance()方法时,才创建对象。
代码如下:
class Single { private static Single s = null; private Single(){}; public static Single getInstance() { if (s==null) { synchronized(Single.class)//多线程 { if(s==null) s = new Single(); } } return s; } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树