java 单例模式(懒汉式与饿汉式)

时间:2021-05-19

java 单例模式

单例模式是一种常用的软件设计模式。在它的可信结构中只包含一个被实例化单例的特殊类。通过单例设计模式可以把整系统中的一个类只有一个实例。

单例设计模式又分为两种方式,懒汉式和饿汉式。

(1)懒汉式,就是只有当调用getInstance的时候,才会初始化这个单例。

(2)饿汉式,就是一旦加载好类,就把单例初始化完成。即是调用getInstance的时候,单例是已经存在了。

代码如下:

懒汉式单例

/** * Description: * 一、设计了一个懒汉式单例 * * @author lee * */public class SingleMode { public static SingleMode s = null; /** * Description: * 私有化构造函数 * * */ private SingleMode(){} /** * Description: * 提供一个方法来获取该单例 * * @return s 返回一个单例 * */ public static SingleMode getInstance(){ //保证了线程安全,又减轻了资源加载和性能上的负担 //即是在创建一次对象后,不再需要线程锁了。 if(s==null){ synchronized(""){ if(s==null){ s = new SingleMode(); } } } return s; }}

饿汉式单例

/** * Description: * 二、设计了一个饿汉式单例 * * @author lee * */class SingleMode1{ public static final SingleMode1 s = new SingleMode1(); /** * Description: * 私有化构造函数 * * */ private SingleMode1(){} /** * Description: * 提供一个方法来获取该单例 * * @return s 返回一个单例 * */ public static SingleMode1 getInstance(){ return s; }}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章