Java Web 02: 单例模式
1. 什么是单例模式?
单例, 是单实例(对象)的意思
模式, 指的是一种固定的编程思路
2. 什么时候使用单例模式?
在创建管理器类 / 工具类 的时候
3. 例如:
<1> 创建一个工具类 - JDBCUtil.java
<2> 由于工具类的性质, 它JDBCUti的对象不需要被创建多次
<3> 如何把类设置成单实例的? (最简单方式)
在JDBCUtil.java中:
public class JDBCUtil {
public static JDBCUtil instance = new JDBCUtil(); // 单实例的创建方式
public void getConnection() {
System.out.println("得到一个数据库连接!");
}
public static void main(String[] args) {
JDBCUtil.instance.getConnection(); // 单实例的调用方式
}
}
<4> 最简单方式的缺点
public static void main(String[] args) {
JDBCUtil.instance.getConnection(); // 单实例的调用方式
JDBCUtil util = new JDBCUtil();
util.getConnection(); // 如果这样调用, 单例模式就被破坏了
}
<5> 避免单例模式被破坏 (构造方法私有化):
public class JDBCUtil {
public static JDBCUtil instance = new JDBCUtil(); // 单实例的创建方式
private JDBCUtil(){
} // 构造方法私有化
public void getConnection() {
System.out.println("得到一个数据库连接!");
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步