public class ConnectionPool {
private int minConn = 5;
private int maxConn = 10;
private String driver = null;
private String url = null;
private String userName = null;
private String passWord = null;
private static ConnectionPool connPool = null;
private int ctConn = 0;
private Stack stack = new Stack();
private ConnectionPool() {
try {
this.driver = StringUtils.getResResource("driver");
this.url = StringUtils.getResResource("url");
this.userName = StringUtils.getResResource("userName");
this.passWord = StringUtils.getResResource("passWord");
Class.forName(this.driver);
for(int i = 0; i < minConn; i++) {
this.stack.push(this.createConnection());
this.ctConn ++;
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
private Connection createConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(this.url, userName, passWord);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static synchronized ConnectionPool getInstance() {
if(connPool != null) {
return connPool;
} else {
connPool = new ConnectionPool();
return connPool;
}
}
public synchronized Connection getConn() {
Connection conn = null;
if(!(this.stack.isEmpty())) {
conn = (Connection)this.stack.pop();
} else if(this.ctConn < this.maxConn) {
conn = this.createConnection();
this.ctConn ++;
} else {
try {
wait(1000);
conn = getConn();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return conn;
}
public synchronized void releasConn(Connection conn) {
this.stack.push(conn);
notifyAll();
}
}
分享到:
相关推荐
【标题】: "笔记.rar" 是一个压缩文件,包含了作者个人整理的学习笔记,可能是为了创建一个备份以便随时查阅。从标签来看,这份笔记主要聚焦在前端开发和Node.js技术上。 【描述】: 描述简单明了,"笔记.rar-------...
主题栏的存在帮助我们快速识别笔记的内容,便于后期查阅和复习。例如,如果主题是“计算机网络基础”,那么这将指导你在整个学习过程中聚焦于网络协议、数据传输等核心概念。 2. **日期栏**:在主题栏下方记录下...
【中大珠数学术部笔记活动赖伊琦第17周.zip】是一个压缩包文件,主要包含的是中山大学...对于中大的珠数学子来说,定期查阅和整理这样的笔记能有效提升学习效率,对理解抽象的数学概念和掌握计算方法具有重要作用。
这里将只作为留档查阅,不再更新 2018年9月9日 前言 笔记还在整理中,刚决定开源,虽然只是个人笔记,但我把它当做自己的一个项目看待,有什么不满之处还望各位不吝提出,谢谢 使用方法 下载下来,在文件夹打开index.html就...
- 课堂笔记:上课时要认真记笔记,记录在课本的相应位置,以便日后查阅。 - 复习与作业:课后首先要复习,然后独立完成作业,字迹工整,错误需要用红笔标记并及时改正。 - 练习册检查:每周至少两次抽查,周五...
这个是移动机器人路径规划的一种算法,比较基础,下载后就可用。接触了移动机器人这么久,我觉得应该写点什么东西,分享一下最基础的自己关于移动机器人的理解,也作为笔记总结,留到以后查阅。
2. 在课堂上,记笔记是非常重要的,学生应在每课书的标题处做笔记,以便后期查阅。 3. 课后复习并独立完成作业,作业的字迹要清晰工整,否则可能需要重做。 4. 练习册将被不定时抽查,每周五必须上交一次,未完成的...
在实际教学或学习中,学生通常会通过查阅专业教材、上课笔记和解决实际习题来深入理解和掌握拉普拉斯变换的理论知识和应用技巧。上述内容的深入学习和理解,通常需要结合具体实例和练习题来完成。
为了简化计算,通常会查阅一个拉普拉斯变换表,它列出了常见的函数及其对应的变换结果。表中的条目包括原始函数、其对应的拉普拉斯变换以及变换的条件,是解决拉普拉斯变换问题时的重要工具。 ### 拉普拉斯变换的反...
同时也可以尝试用自己的话总结每章的主要观点和收获,以便日后回顾查阅。 4. **交流分享**:加入相关社区或论坛,在线与他人讨论书中提到的技术问题不仅可以帮助解答疑惑,还能促进自己对知识点更深层次的理解。此外...
本文介绍了ReactNative踩坑之配置调试端口的解决方法,分享大家,顺便也给自己留个笔记 问题是这样的,由于公司的机器安装了安全软件,http://localhost:8081被占用了。(windows上配置环境真不易,最后一步还是被公司...
但是考虑到随着博客更新,这单独的一篇书单就被压在下面难见天日,于是决定单开一个 repo,既是给一些阅读笔记做一个索引,方便有需要时查阅,也算是给每一次阅读留一点痕迹,纪念一下近三年的单身狗大学生活,另外...
这包括教授学生预习的步骤,例如,先了解课文背景和作者,然后阅读课文,标出不理解的地方,查阅字典理解生词,最后尝试理解句子含义和段落大意。教师应教给学生边读边思考边做笔记的方法,这样有助于提高阅读理解...
本资料是“复变函数与积分变换”的通用教材,以Word格式提供,方便学习者进行查阅、编辑和打印。 1. **复变函数**:复变函数是定义在复数域上的函数,即自变量和因变量都是复数。复变函数的研究核心是解析性,一个...
标准的行距(如双倍行距)使得批注和修改变得容易,而适当的边距则为手写笔记或修订留出空间。 4. **页码**:在作文纸的右下角或左下角添加页码,可以防止页面丢失,也便于教师查阅和反馈。 5. **大纲或提纲**:...
18. **set aside** - 指挑出、拨出或留出,如:"Set aside some time each day for exercise." (每天留出一些时间做运动。) 19. **stand by** - 可以表示支持或袖手旁观,如:"We will stand by you no matter what...
大多数路由器有一个固定的局域网内IP地址,可以通过查阅说明书来确定。然后,在浏览器中输入这个IP地址,例如`http://192.168.254.254/`,进入路由器的管理界面。如果遇到设置向导,按照提示进行操作。在连接配置...
1. 考试科目与代码:961通常代表的是复旦大学某一特定专业的考试科目代码,具体对应的专业可能因年份而异,考生需要查阅当年的招生简章来确认。 2. 考研流程:复旦大学的考研流程包括网上报名、初试、复试等环节,...
为了使学习更为便捷,文章已进行重新排版,采用稍大的5号字体,以减轻阅读压力,同时留出空间供做笔记。此外,特别提醒的是,对于非重点但可能影响理解的生词,建议查阅权威词典如牛津词典以确保准确理解。 总的来...