Java单例模式
来源:互联网 发布:web php工程师招聘 编辑:程序博客网 时间:2024/05/16 06:23
JAVA单例模式是指在一个应用程序中,一个类只有一个共享实例对象,对这个类的访问只有一个入口点。单例类的实现主要有两种方式,懒汉模式和饿汉模式。下面我们看看这两种模式的区别和实现方法。首先如果实现单例模式,构造函数必须是私有的。
1.饿汉模式
所谓饿汉模式是在类加载的时候已经实例化一个对象出来,不管你用还是不用,都已经实例化好了。可以按其意思理解,由于天生比较饥饿,提前要多吃,吃饱。
懒汉模式是天生是安全的,可以在多线程的环境下使用。
package jdbcDemo;public class mainform1 {private static mainform1 mainform=new mainform1();private mainform1(){}public static mainform1 GetInstance(){return mainform;}}
2.懒汉模式
懒汉模式是指提前没有实例化好对象,是在用到的时候才被实例化。在第一次调用的时候,先判断是否创建对象实例,如果没有创建,会创建一个出来。
package jdbcDemo;public class mainform2 {private static mainform2 mainform=null;private mainform2(){}/*用到的时候才被实例化*/public static mainform2 GetInstance(){if(mainform==null){mainform=new mainform2();}return mainform;}}
上面的懒汉模式如果在多线程的环境下使用,会出现问题,不能保证单一实例。如果在多线程环境下使用,需要加锁,保证实例的唯一性。使用synchronized 关键字
package jdbcDemo;public class mainform2 {private static mainform2 mainform=null;private mainform2(){}/*用到的时候才被实例化*/public synchronized static mainform2 GetInstance(){if(mainform==null){mainform=new mainform2();}return mainform;}}
总之,单例模式的特点如下
单例模式有以下特点:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
0 0
- java单例模式
- Java单例模式
- java单例模式
- java单例模式
- Java单例模式
- Java单例模式
- java单例模式
- Java单例模式
- java 单例模式
- java单例模式
- java单例模式
- java单例模式
- java 单例模式
- JAVA单例模式
- java单例模式 .
- Java 单例模式
- Java单例模式
- Java 单例模式
- 用文件IO而不是stdio输入输出
- runtime结合category和block动态增加方法以及属性
- java笔记
- 今日头条面试相关
- 动态规划算法详解
- Java单例模式
- android异步更新UI的几种方法
- HTML5-3
- 狂战士VS驱逐者
- 进程间通信各自的特点
- 【总结】485
- Unity4.3.4_2D—刚体移动
- 最短路径树
- Word 2013自定义样式