【java多线程】从单例模式到Java内存模型

前言

兄弟姐妹们,今天开始继续讲Java多线程,不过今天不直接讲,先从设计模式中最常见的单例模式讲起,然后在讲Java的内存模型JMM等等。

单例模式

既然讲到了单例模式,我们就顺便复习一下中最基础的设计模式。
单例模式顾名思义,也就是方法类只会初始化一次,至于什么时机初始化就分为饿汉式和懒汉式,Spring的bean默认都是单例的。下面用代码讲讲。
最基本就是懒汉式,就是我啥也不管,直接赋值初始化。

public class LazySingleton {
   
	// 私有构造类,没有其他方式初始化
	private LazySingleton() {
   }
	
	private final static HungrySingleton instance = new LazySingleton();
	
	public static LazySingleton getInstance() {
   
		return instance;
	}
}

懒汉式有个缺点就是可能方法不会被调用,但是又消耗资源去初始化。有另一种就是调用的时候才会初始化,这也就叫饿汉式。

public class HungrySingleton {
   
	private static HungrySingleton instance;
	// 私有构造类,没有其他方式初始化
	private HungrySingleton () {
   }
	
	public static HungrySingleton getInstance() 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值