看到一篇关于jdbc的文章,有段是这样写的:基于DriverManager.getConnection()的连结池只不过是预先生成这样的物理连结放在一个
pool中,然后编号等你调用,它省略的是生成这样的连结的时间.而javax.sql的实现采用了在用户连结和物理连结中间加一个缓冲的中间层,它虽然也只生
成30个物理连结,但用户本身不能访问它,DataSource返回给用户的是一个JAVA抽象对象,客户程序把
连结请求放回缓冲中由DataSource统一调度物理连结来处理,这样可以最大程序利用宝贵的物理连结也就是说,在同样多的物理连结下,
DataSource可以给我们更多(是多得多的)的调用机会,
各位都是用DataSource来配置连接池的吗?
pool中,然后编号等你调用,它省略的是生成这样的连结的时间.而javax.sql的实现采用了在用户连结和物理连结中间加一个缓冲的中间层,它虽然也只生
成30个物理连结,但用户本身不能访问它,DataSource返回给用户的是一个JAVA抽象对象,客户程序把
连结请求放回缓冲中由DataSource统一调度物理连结来处理,这样可以最大程序利用宝贵的物理连结也就是说,在同样多的物理连结下,
DataSource可以给我们更多(是多得多的)的调用机会,
各位都是用DataSource来配置连接池的吗?
对基于DriverManager.getConnection()的连结池只不过是预先生成这样的物理连结放在一个
pool中,然后编号等你调用,它省略的是生成这样的连结的时间.
持怀疑态度
A:直接连接 它是直接在客户端的代码中打开并维护的;
B:池连接DBCP 它是被J2EE服务器打开和维护的;
当然后者:提供共享的连接,避免了重复建立,管理功能;
--------------------------------
java_augur(听着音乐 ☆☆☆☆☆☆) ( ) 信誉:115 Blog 2006-9-20 0:27:55 得分: 0
连接池也不神秘,自己完全可以实现,也就是说一次创建几个连接;
每次关闭连接,并不是物理关闭,而是软关闭;
这样节省了连接建立的时间。如果超出了预先创建的理解数目,可以有多种方案:
要么让用户等,或者重新在建立连接;
一般服务器的实现都是让用户去等,以避免连接数目过多。连接池的最大好处是减少服务器响应时间。
http://www.cn-java.com/target/news.php?news_id=1902
名字,这样才能实现数据源连接,而使用getconnection()是一中物理连接,保持一对一
的连接,只用用这个连接的人释放了他,别人才能用。程序开发中建议使用数据源,这样可
以减少数据库的压力
名字,这样才能实现数据源连接,而使用getconnection()是一中物理连接,保持一对一
的连接,只用用这个连接的人释放了他,别人才能用。程序开发中建议使用数据源,这样可
以减少数据库的压力
名字,这样才能实现数据源连接,而使用getconnection()是一中物理连接,保持一对一
的连接,只用用这个连接的人释放了他,别人才能用。程序开发中建议使用数据源,这样可
以减少数据库的压力
1.DriverManager.getConnection()是每一次都是重新获取链接,而DataSource方式是用到了中间层;
2.DriverManager.getConnection()不支持事务处理,不满足企业级的需要;
3.DriverManager.getConnection()没有对数据源进行抽象,而DataSource是在配置文件写数据库的class、url、user/password,减小了程序内部的依赖,耦合高;
4.DriverManager.getConnection()也不是一无是处,可以在开发的时候用,正式版本发布后再改成DataSource的方式。
JNDI 也可以
http://www.javadingle.com