gpt4 book ai didi

java两种单例模式用法分析

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java两种单例模式用法分析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了java两种单例模式用法。分享给大家供大家参考,具体如下:

按照加载方式的不同,单例模式有两种实现

private:只能在同一个类中使用 static:该类是类方法,不能调用实例方法。/类全局变量 final:方法或成员变量不能被修饰 。

1、饿汉式 。

?
1
2
3
4
5
6
7
public class EagerSigleton{
private static final EagerSigleton instance= new EagerSigleton();
private EagerSigleton(){} ////私有构造方法
public EagerSigleton getInstance(){ //静态工厂方法
return instance;
}
}

2、懒汉式 。

?
1
2
3
4
5
6
7
8
9
10
public class LazySigleton{
private static final LazySigleton instance= null ;
private LazySigleton(){} //私有构造函数
public synchronized LazySigleton getInstance(){ //静态工厂方法,注意这里的synchronized
if (instance== null ){
instance= new LazySigleton();
}
return instance;
}
}

分析对比

相同点

单例模式属于创建模式,保证在同一个jvm中仅仅存在该类的一个实例。在上面两种的单例模式中,可以看出:

① 两种方式的构造函数都是私有的。 ② 对外接口都是工厂方法.

不同点

饿汉式是在类装载时直接得到该类的实例,可以说式前期绑定的。而懒汉式在类加载时并没有指向具体的某个对象。而是当调用工厂方法后才被实例化。因此,前者速度快,后者速度慢。但后者可以加载其他的类,(也就是动态扩展)灵活性高.

希望本文所述对大家java程序设计有所帮助.

最后此篇关于java两种单例模式用法分析的文章就讲到这里了,如果你想了解更多关于java两种单例模式用法分析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com