java单例模式
2016-01-09 14:44
417 查看
单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头 单例模式的设计:一个类在内存中只存在一个对象。 方法: 1,为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象 2,为了让其他程序访问到该类对象,在该类中自定义一个对象 3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方法 代码体现:www.111cn.net 1,将构造函数私有化 2,在本类中创建一个本类对象 3,提供一个方法可以获取到该对象 方法一:先初始化 代码如下 复制代码 class Single{ private Single(){} private static Single s = new Single(); public static Single getInstance(){ return s; } } 方法二:对象被调用时才初始化 代码如下 复制代码 class Single{ private static Single s=null; private Single(){} public static Single getinstance(){ if(s==null){ s=new Single(); } return s; } } //调用 class SingleDemo{ public static void main(String[] args){ Single s1= Single.getInstance(); } }
相关文章推荐
- 重拾编程之路--leetcode(java)--删除(覆盖)指定数组元素,输出新长度
- java分割文件并合并
- java web中cookie的永久创建与撤销
- Andoid开发之Java基础(一)
- Spring 学习笔记(一)
- 重拾编程之路--leetcode(java)--字符串逆序输出
- 重拾编程之路--leetcode(java)-排序数组范围
- Java利用classloader从classpath加载资源
- FineReport实现Java报表主题分析的效果图
- Java内存泄露的理解与解决(转)
- Java正则表达式教程
- Spring3.0 AOP 详解
- (转)java之装饰设计模式和继承的简单区别
- Java&Xml教程(八)使用JDOM将Java对象转换为XML
- Java&Xml教程(八)使用JDOM将Java对象转换为XML
- Java&Xml教程(八)使用JDOM将Java对象转换为XML
- jdk7 并行计算框架Fork/Join
- Java Web系列:JDBC 基础
- java.security.InvalidKeyException: Illegal key size 解决办法
- JAVA 静态成员不具有多态性