Java 单例模式(singleton)类设计

本文详细介绍了Java中单例模式的两种实现方式:懒汉式和恶汉式。懒汉式在第一次请求实例时创建,适合资源紧张时使用,但要注意线程安全问题;恶汉式则在类加载时即创建实例,实现简单但可能会造成资源浪费。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 单例模式(singleton)类设计

单例模式,顾名思义就是只有一个实例的意思。确保一个类只有一个实例,实现方式主要是构造方法私有化,实例设为静态变量。


/**

* 懒汉式 直到第一次请求实例才创建实例

* 优点 需要实例时才创建

* 缺点 线程不安全(可通过synchronized同步)

*/

class Singleton(){

private static Singleton instance;

private Singleton(){}; //构造方法私有化

public static synchronized Singleton getInstance(){ //通过getInstance()获取实例   synchronized保证线程安全

if(instance==null){ //判断实例是否已经创建

instance = new Singleton();

}

return instance;

}

}


/**

* 恶汉式 类加载时就创建实例

* 优点 实现简单

* 缺点 如果一直不需要,会造成资源浪费

*/

class Singleton(){

private static Singleton instance = new Singleton(); //类加载时,创建实例

private Singleton(){};

public static Singleton getInstance(){

return instance;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值