Java单例模式注解是什么_快速理解Java中的五种单例模式

本文详细介绍了Java中五种单例模式的实现:包括单线程环境下的简单实现、懒汉式、双重检查锁定、饿汉式和静态内部类方式。分别分析了每种方式的适用场景、优缺点以及线程安全性。
摘要由CSDN通过智能技术生成

解法一:只适合单线程环境(不好)

package test;

/**

* @author xiaoping

*

*/

public class Singleton {

private static Singleton instance=null;

private Singleton(){

}

public static Singleton getInstance(){

if(instance==null){

instance=new Singleton();

}

return instance;

}

}

注解:Singleton的静态属性instance中,只有instance为null的时候才创建一个实例,构造函数私有,确保每次都只创建一个,避免重复创建。

缺点:只在单线程的情况下正常运行,在多线程的情况下,就会出问题。例如:当两个线程同时运行到判断instance是否为空的if语句,并且instance确实没有创建好时,那么两个线程都会创建一个实例。

解法二:多线程的情况可以用。(懒汉式,不好)

public class Singleton {

private static Singleton instance=null;

private Singleton(){

}

public static synchronized Singleton getI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值