单例设计模式-java中饿汉与懒汉的故事

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: Java 标签: 单例设计模式 饿汉模式 懒汉模式

2021-01-01 20:24:35 748浏览

java中的单例设计模式关于设计模式-饿汉模式和懒汉模式
今天给大家分享下java中得单例设计模式。
关于设计模式,这其实是单独存在得东西,它不属于java,但是在java中使用较多,所以今天我就给大家介绍下单例设计模式中得饿汉和懒汉这俩朴素得打工人。
首先我先说明下单例设计模式是啥(如果不想了解,可以直接划下去看饿汉和懒汉):类得单例设计模式就是采用一定得方法保证在整个软件系统中,对某个类只能存在一个对象实例。(不懂也没关系,会用就好)

一.饿汉式
饿汉式:可以理解为饿得不行了,就提前把吃饭工具准备好(new对象),再进行“吃”得操作。
用代码说话吧:
class Family{
private int number;
private String name;
private Family(){
} //构造器私有化
private static Family Instance=new Family();
//内部创建类得对象
public static Family getInstance(){
return Instance;
}
//提供公共得静态方法,且返回对象。
}
public class Test3 {
public static void main(String[] args) {
Family family1=Family.getInstance();
Family family2=Family.getInstance();
}
}
二.懒汉式
懒汉式:可以理解这人特懒,他只是洗下碗但是不准备,啥时候吃饭啥时候弄吃饭工具(new对象)。
用代码说话吧:
class lazy {
private lazy(){
}
private static lazy Instance = null;
//声明当前对象没有初始化值
public static lazy getInstance(){
if (Instance==null){
Instance=new lazy();
//需要再造对象,不要就不new对象了
}
return Instance;
}
}
public class Test32 {
public static void main(String[] args) {
lazy lazy1=lazy.getInstance();
}
}
三.饿汉和懒汉有啥不同
对于饿汉式:
优点:线程贼安全
缺点:对象加载时间过长
对于懒汉式:
优点:延迟对象得创建,更快
缺点:多线程安全很低,但是可以通过优化使其可用。
行,今天就给大家分享到这里吧,您的一份支持就是我最大的动力,最后打个小广告,我们程序员在学习和工作中或多或少会遇到一些比较棘手的问题,也就所谓的一时半会解决不了的bug,可以来杰凡IT问答平台上提问,平台上大佬很多可以快速给你一对一解决问题,有需要的朋友可以去关注下,平台网址: https://www.jf3q.com

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695