|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
轮性能微软曾做过一个例子,就是同一个项目用java和.net来作,结果开发周期,.net是java的一半,性能java是.net的十分之一,代码量java是.net的三倍。呵呵,这说明了什么,.net的全方位比java好。但是有的人说.net不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net,只是推出了跨语言的.net,
1.媒介
数据库使用,在很多软件体系中常常用到,是开辟中年夜型体系不成短少的帮助。但假如对数据库资本没有很好地办理(如:没有实时接纳数据库的游标(ResultSet)、Statement、毗连(Connection)等资本),常常会间接招致体系的不乱。这类不不乱要素,不但单由数据库大概体系自己一方引发,只要体系正式利用后,跟着流量、用户的增添,才会慢慢显现。
在b基于Java开辟的体系中,JDBC是程序员和数据库打交道的次要路子,供应了完整的数据库操纵办法接口。但思索到标准的合用性,JDBC只供应了最间接的数据库操纵标准,对数据库资本办理,如:对物理毗连的办理及缓冲,希冀第三方使用服务器(ApplicationServer)的供应。
本文,以JDBC标准为基本,先容相干的数据库毗连池机制,并就假如以复杂的体例,完成无效地办理数据库资本先容相干完成手艺。
2.毗连池手艺背景
2.1JDBC
JDBC是一个标准,遵守JDBC接口标准,各个数据库厂家各自完成本人的驱动程序(Driver),以下图所示:
使用在猎取数据库毗连时,必要以URL的体例指定是那品种型的Driver,在取得特定的毗连后,可依照流动的接口操纵分歧范例的数据库,如:分离猎取Statement、实行SQL取得ResultSet等,以下面的例子:
importjava.sql.*;
…
..DriverManager.registerDriver(
neworacle.jdbc.
driver.OracleDriver());
ConnectiondbConn=DriverManager.getConnection
(“jdbc:oracle:thin:@127.0.0.1:1521:
oracle”,“username”,“password”);
Statementst=dbConn.createStatement();
ResultSetrs=st.executeQuery(
“select*fromdemo_table”);
…
somedatasourceoperationinherers.close();
st.close();dbConn.close();
在完成数据操纵后,还必定要封闭一切触及到的数据库资本。这固然对使用程序的逻辑没有任何影响,可是关头的操纵。下面是个复杂的例子,假如搀杂浩瀚的if-else、exception,资本的办理也不免鸭蛋虽密也有缝。好像C中的内存泄露成绩,Java体系也一样会晤临溃散的厄运。以是数据库资本的办理依附于使用体系自己,是不平安、不不乱的一种隐患。
<p>
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的 |
|