java单例模式详解
来源:互联网 发布:linux 卸载优盘 编辑:程序博客网 时间:2024/05/16 18:31
首先讲解下单例模式:
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
显然单例模式的要点有三个:
一是某个类只能有一个实例
二是它必须自行创建这个实例
三是它必须自行向整个系统提供这个实例(其实这里个人认为不不是完全正确,但是在ssh中使用的时候,是没有我就new一个,所以在整个系统中不止一个对象,但是绝对不会同时出现两个或以上对象、实例)
单例模式的应用场景:
①、一些资源管理常常设计成单例模式:比如读取配置文件时候使用单例,应当由一个对象来管理一个属性文件
②、可以使用单例实现缓存机制:把多次生成的文件、对象等资源放在单例的成员变量中,相同条件下,从单例的成员变量中获取(这里的成员变量可以是集合、map等容器)
优点:节约内存(只有一个实例)
缺点:打破了java的设计原则,即多态,因为单例不能被外部new了,所以单例的构造方法时private的,也就不能被继承了,最终打破了多带原则
最后是代码实现
饿汉式:
/** * 饿汉式就是很饥饿的意思,上来就创建 */public class Singleton { private static Singleton instance = new Singleton(); public static Singleton getInstance(){ return instance; } }懒汉式:
/** * 懒汉式就是很懒,用的时候才去创建 * */public class Singleton{ private static Singleton instance ; public synchronized static Singleton getInstance(){ return instance == null?new Singleton():instance;//不存在则创建,并且可修改的成员变量多线程需要安全 } }
0 0
- java 单例模式详解
- Java 单例模式详解
- java 单例模式详解
- Java 单例模式详解
- Java 单例模式详解!
- JAVA单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- java单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- Java 单例模式详解
- Installation Amazon Linux AMI (EC2)
- android 使用开源工具ChkBugReport分析Bugreport
- 今天用Eclipse遇到的两个问题
- HxDSetupEN 分析binary file超好用(window)
- 欧美网游简史 第十三章 虚拟与真实的人生
- java单例模式详解
- struts2参数问题
- C#调用C++库时,string析构错误
- 8步帮你解决面试遇到的编程问题
- Milenage算法的改写(c,c++变成java)
- sublime text+mingw编译时提示错误 error: stray '\357' in program(已解决)
- Arcgis for serverlight API代码实现TimerSlider功能
- 成为JavaGC专家Part I — 深入浅出Java垃圾回收机制
- Solr 安装