Android(Java)中最最基础(最常用)的两种单例模式

懒汉式(线程不安全)
public class Singleton {
private static Singleton instance;
private Singleton (){}

public static Singleton getInstance() {  
if (instance == null) {  
    instance = new Singleton();  
}  
return instance;  
}  

}
到调用getInstance()方法准备获取对象时才进行初始化对象 ,故名懒汉式;其特点是加载类快,调用getInstance()获取对象时慢
加锁(synchronized)就变成懒汉式 线程安全,缺点:效率低


2.饿汉式(线程安全)
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton (){}
public static Singleton getInstance() {
return instance;
}
}
很饿了,对象很早就初始化故名饿汉式,其特点是 加载类慢,调用getInstance()获取对象时快;并且这种方式基于classloder机制避免了多线程的同步问题


以上就是两种最基础的单例模式,可以根据实际情况,使用不同的单例模式已经相关的变种。

有什么建议与意见欢迎留言或联系作者^_^!
QQ:1056816512

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值