设计模式之单例模式

[color=darkblue]单例模式的主要目的是让内存中只保存某个对象的唯一实例,避免不必要的资源消耗,从而提高应用程序性能。
单例模式的实现方式有二:[/color]
[b][color=blue]方式一:[/color][/b]

package com.mzh.common;

public class Singleton {
//把目标对象定义成static final类型的变量
private static final Singleton singleton=new Singleton();
//把默认构造方法定义成私有构造方法,防止外部通过new 方式得到实例:
private Singleton(){}
//通过静态方法返回对象实例:
public static Singleton getInstence(){
return singleton;
}
//业务方法:
public void doSth(){
System.out.println("do something.");
}
}


[b][color=blue]方式二:[/color][/b]

package com.mzh.common;

public class Singleton {
//静态实例变量:
private static Singleton singleton;
//把默认构造方法定义成私有构造方法,防止外部通过new 方式得到实例:
private Singleton(){}
//通过静态方法返回实例(synchronized 关键字解决多线程共享问题)
public static synchronized Singleton getInstence(){
//如果目标对象实例不存在则实例化一个;否则直接返回该对象实例:
if(singleton==null){
singleton=new Singleton();
}
return singleton;
}
//业务方法:
public void doSth(){
System.out.println("do something.");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值