我是靠谱客的博主 怡然心情,最近开发中收集的这篇文章主要介绍java 饿汉式单例_java单例模式(懒汉式和饿汉式),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

单例模式:

简单的来说,就是为了防止你在程序中new 来new去,明明只需要一个东西,你却new了很多次,内存中存在大量没用的垃圾

单例模式特点

1单例类只能有一个实例。

2单例类必须自己自己创建自己的唯一实例。

3单例类必须给所有其他对象提供这一实例。

首先我们看的是懒汉式,看这个名字就知道,它比较懒,注意他并没有直接创建对象,而是

private static Lazy lazy=null;

这是一个和饿汉式很大的却别

public class Lazy {

//这里和饿汉式的第一个区别,先不创建对象,而是等到要使用这个对象的时候采取创建

private static Lazy lazy=null;

//重写构造函数,组织外部代码直接初始化Lazy类

private Lazy(){}

public static Lazy getLazy(){

// 先判断有没有这个对象

if(lazy==null){

lazy=new Lazy();

}

return lazy;

}

}

测试代码:

// 懒汉式测试

Lazy lazy1=Lazy.getLazy();

Lazy lazy2=Lazy.getLazy();

System.out.println(lazy1==lazy2);

发现打印结果为true,这样证明没有多产生对象,只有一个对象在使用的过程中被创建了出来

案例2:饿汉式

public class Hurry {

private static Hurry hurry=new Hurry();

private Hurry(){}

public static Hurry getHurry(){

return hurry;

}

}这个简单多了,还是首先修改构造函数,让这东西不要通过new出来,然后通过静态方法得到

Hurry h=Hurry.getHurry();

Hurry h2=Hurry.getHurry();

System.out.println(h==h2);

最后

以上就是怡然心情为你收集整理的java 饿汉式单例_java单例模式(懒汉式和饿汉式)的全部内容,希望文章能够帮你解决java 饿汉式单例_java单例模式(懒汉式和饿汉式)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部