概述
单例模式:
简单的来说,就是为了防止你在程序中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单例模式(懒汉式和饿汉式)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复