在實際應用開發中,特別是在WEB應用系統中,若是JSP、Servlet或EJB使用JDBC直接訪問數據庫中的數據,每一次數據訪問請求都必須經歷創建數據庫鏈接、打開數據庫、存取數據和關閉數據庫鏈接等步驟,而鏈接並打開數據庫是一件既消耗資源又費時的工做,若是頻繁發生這種數據庫操做,系統的性能必然會急劇降低,甚至會致使系統崩潰。數據庫鏈接池技術是解決這個問題最經常使用的方法,在許多應用程序服務器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了這項技術,無需本身編程,可是,深刻了解這項技術是很是必要的。html
數據庫鏈接池技術的思想很是簡單,將數據庫鏈接做爲對象存儲在一個Vector對象中,一旦數據庫鏈接創建後,不一樣的數據庫訪問請求就能夠共享這些鏈接,這樣,經過複用這些已經創建的數據庫鏈接,能夠克服上述缺點,極大地節省系統資源和時間。數據庫
數據庫鏈接池的主要操做以下:
(1)創建數據庫鏈接池對象(服務器啓動)。
(2)按照事先指定的參數建立初始數量的數據庫鏈接(即:空閒鏈接數)。
(3)對於一個數據庫訪問請求,直接從鏈接池中獲得一個鏈接。若是數據庫鏈接池對象中沒有空閒的鏈接,且鏈接數沒有達到最大(即:最大活躍鏈接數),建立一個新的數據庫鏈接。
(4)存取數據庫。
(5)關閉數據庫,釋放全部數據庫鏈接(此時的關閉數據庫鏈接,並不是真正關閉,而是將其放入空閒隊列中。如實際空閒鏈接數大於初始空閒鏈接數則釋放鏈接)。
(6)釋放數據庫鏈接池對象(服務器中止、維護期間,釋放數據庫鏈接池對象,並釋放全部鏈接)。編程
轉載說明服務器
文字轉自:http://zhidao.baidu.com/question/488393749.htmlide
圖片轉自:http://wenku.baidu.com/view/074815d033d4b14e852468c6.html性能