虽说我们现在可以用第三方提供的java连接池,比如c3p0,dbcp等,这些用得也比较广泛,然而当我们舍弃这些连接池时,运用一些模式,也是可以实现自己的连接池的。
首先我们的清楚,设计连接池的目的,一是我们得保证多个连接,即保证每个线程都能取得不同的Connection。 二是得提供一个方法回收那些连接,使得处在等待状态的线程能够取得连接。以下是一个简单的连接池代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.List;
public class DbPool1 {
//声明一个容器,放所有声明的连接Connection
private static List<Connection> pool = new ArrayList<Connection>();
static{
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql:///test?characterEncoding=UTf8";
for(int i=0;i<3;i++){
//创建三个连接
Connection con = DriverManager.getConnection(url,"root","root");
//将这个三个连接放到pool中去
pool.add(con);
}
System.err.println("连接是:"+pool);
}catch(Exception e){
throw new RuntimeException(e.getMessage(),e);
}
}
public static Con

本文探讨了如何不依赖第三方库,使用设计模式创建自己的Java连接池。通过保证多个连接和有效的回收机制,确保线程安全并提高资源利用率。文中包含了一个简单的连接池代码示例。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



