关于连接池的思想

来源:互联网 发布:长沙理工网络教务系统 编辑:程序博客网 时间:2024/06/01 13:58

由于某些链接或对象,系统中的各个用户可以共享使用,并不需要销毁操作。因此可以将这些链接或对象保留到一个池中,这样可以节省系统资源的开销。


1、要有一个链表用来储存

2、在类的静态加载中声明构造

3、每一次使用,是对池中对象的释放

4、每一次用完,是对池中对象的追加

5、我认为,用双向链表和单向链表都可以(栈和队列)




----------------------------------------------------------------------------------------*************我是华丽的分割线*************----------------------------------------------------------------------------------------


Java代码实例(数据库连接池):

实现

package gaideng.util;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.Driver;import java.sql.DriverManager;import java.sql.SQLException;import java.util.LinkedList;import java.util.Properties;public class DBConnUtil {//连接池private static LinkedList<Connection> SQLlink=new LinkedList <Connection>();static{String ClassName="";String url="";String users="";String pwd="";int LinkSize=0;InputStream in=DBConnUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");Properties pro=new Properties();try {pro.load(in);ClassName =pro.getProperty("ClassName");url =pro.getProperty("url");users =pro.getProperty("users");pwd =pro.getProperty("pwd");LinkSize=Integer.parseInt(pro.getProperty("LinkSize"));for(int i=0;i<LinkSize;i++){Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection conn=DriverManager.getConnection(url, users, pwd);SQLlink.add(conn);}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


使用:




参照:http://blog.csdn.net/shuaihj/article/details/14223015

0 0
原创粉丝点击