Java中几种常用的单例模式

  • 单例模式:
    单例模式是Java语言23中设计模式中最常见的一种设计模式.
    单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。
    特点:
    1,一个类只能有一个实例
    2,自己创建这个实例
    3,整个系统都要使用这个实例
    常用的方式:
    懒汉式和饿汉式两种实现方式,各有优缺点.
  • 作用:
    防止多个实例,创建出多个线程同时进行.例如:火车站买票,就10张票,同时100个人在买,如果不进行限制,够的票会出现负数. 又例如:办公室就一台打印机,多个同事同时要打印资料,如果不进行相应的约束,结果会是什么样? 这就是单例模式应运而生的作用;

这里只列出最常用的单例模式:

  • 懒汉式:
/**
 * 懒汉模式线程不安全,加锁后可以实现线程安全,下面此方法线程安全.
 * 懒汉模式中单例是在需要的时候才去创建的,如果单例已经创建,
 * 再次调用获取接口将不会重新创建新的对象,而是直接返回之前创建的对象。
 * 如果某个单例使用的次数少,并且创建单例消耗的资源较多,那么就需要实现单例的按需创建,
 * 这个时候使用懒汉模式就是一个不错的选择
 * @author 狂神666
 *
 */	
	public  class Singleton{
		private static Singleton instance;
		private Singleton(){}
		public static synchronized Singleton getInstance(){
			if (instance == null) {
				instance = new Singleton();
			}
			return instance;
		}
	}
  • 饿汉式:
<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值