如果网络状况复杂(每次连接耗时更长)的情况下,使用连接池的优势将更加明显。
运行结果:
运行100次,共耗费109毫秒
非池运行100次,共耗费4422毫秒
运行200次,共耗费141毫秒
非池运行200次,共耗费8031毫秒
运行300次,共耗费219毫秒
非池运行300次,共耗费11812毫秒
测试代码:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Test.poolConnection(300);
Test.connectionTest(300);
}catch(Exception e){
e.printStackTrace();
}
}
public static void poolConnection(int count)throws Exception{
OracleConnectionPoolDataSource ds = new OracleConnectionPoolDataSource();
ds.setDriverType("thin");
ds.setServerName("127.0.0.1");
ds.setPortNumber(1521);
ds.setNetworkProtocol("tcp");
ds.setDatabaseName("DEVELOPER");
ds.setUser("ysf");
ds.setPassword("ysf123&