java中的单例模式
2016-09-27 20:42
204 查看
有时候,我们需要这样的一个功能,在整个应用中,我们只允许有一个实例存在,如ppt中我们只允许打开一个窗口,登录windows,只允许有一个登录界面进去。如果我们把窗口当成类,那么其就只有一个实例。
另外利用单例+同步,我们可以实现在同一时刻,我们只允许有一个线程去访问资源,这样就保证了安全。
特点:
1.构造函数要为私有,保证只能有类本身去创建对象
2.在类中要定义该类的私有的静态的全局变量
3.通过一个公有的静态方法去返回该单例的实例。
单例分为懒汉模型和饥汉模式
懒汉模式(默认的)
1.思想:在用到该单例的时候便创建对象,可以优化内存的使用
饥汉模式
1.思想:在加载类的时候去创建对象,
评价:
1.懒汉模式去创建单例,在用到单例的时候才创建相应的对象,会影响程序的速度。饥汉模型加载类的时候便会创建对象,其又是静态的,所以占用方法区的静态数区的空间。
2.懒汉式是不安全的,如果并发的两个线程同时访问单例的getInstance()方法,又没有对该静态方法加同步,就会有两个实例会被创建,不安全。
相关文章推荐
- Java中List Set Map 是否有序等总结
- Struts2基本使用(一)--在项目中引入Struts2
- myeclipse 怎么安装SVN插件
- Java源码解析(附录)(2) —— TypeVariable
- Java集合——LinkedHashMap源码详解
- Java集合——LinkedHashMap源码详解
- 深入理解java异常处理机制
- 第1课java
- eclipse安装adt插件
- java string常见操作(二)
- java.lang.Math类中的方法
- 在Java中编写完美的equals方法
- java 封装类
- 【JDBC】基本操作
- eclipse中调试窗口不显示错误
- java this的使用
- java this的使用
- ajava包的命名
- java基础重要知识点答案
- Java集合——题目