数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不再是重新建立一个。释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,能够明显提高对数据操作的性能。
模拟连接池代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Collections;
import java.util.LinkedList;
/**
* @author: Jeson
* @date:2017-12-24 下午3:34:21
* @version :
*
*/
public class SimpleConnectionPool {
private static LinkedList<Connection> pool = (LinkedList<Connection>) Collections
.synchronizedList(new LinkedList<Connection>());
static {
try {
for (int i = 0; i < 10; i++) {
Connection conn = DriverManager.getConnection("url","username","password");
pool.add(conn);
}
} catch (Exception e) {
// TODO: handle exception
throw new ExceptionInInitializerError("初始化数据库连接失败");
}
}
//得到一个连接
public Connection getConnectionFromPool(){
if(pool.size()>0){
return pool.removeFirst();//取出一个链接
}
return null;
}
//释放资源
public void release(Connection conn){
pool.addLast(conn);
}
}
但此模拟并不具备实际开发意义。