官术网_书友最值得收藏!

5.6 理解連接池技術

在實際應用開發中,特別是在Web應用系統中,如果JSP、Servlet或EJB使用JDBC直接訪問數據庫中的數據,那么每一次數據訪問請求都必須經歷建立數據庫連接、打開數據庫、存取數據和關閉數據庫連接等步驟,而連接并打開數據庫是一項既消耗資源又費時的工作,如果頻繁發生這種數據庫操作,那么系統的性能必然會急劇下降,甚至會導致系統崩潰。數據庫連接池技術是解決這個問題常用的方法。

數據庫連接池的主要操作如下:

  • 建立數據庫連接池對象。
  • 按照事先指定的參數創建初始數量的數據庫連接(空閑連接數)。
  • 對于一個數據庫訪問請求,直接從連接池中得到一個連接。如果數據庫連接池對象中沒有空閑的連接,且連接數沒有達到最大(最大活躍連接數),就創建一個新的數據庫連接。
  • 存取數據庫。
  • 關閉數據庫,釋放所有數據庫連接(此時的關閉數據庫連接并非真正關閉,而是將其放入空閑隊列中。若實際空閑連接數大于初始空閑連接數,則釋放連接)。
  • 釋放數據庫連接池對象(服務器停止、維護期間,釋放數據庫連接池對象,并釋放所有連接)。

在Java領域,有非常多的開源數據庫連接池工具,比如C3P0、Proxool、DBCP、DBPool、Druid等。接下來會對DBCP的用法進行詳細的介紹。

主站蜘蛛池模板: 错那县| 房山区| 绥化市| 个旧市| 太康县| 兴国县| 五寨县| 丹寨县| 光山县| 湾仔区| 蚌埠市| 成都市| 赤峰市| 华亭县| 康定县| 合川市| 淮北市| 普兰县| 阳朔县| 眉山市| 梨树县| 芜湖县| 满洲里市| 津市市| 平江县| 海淀区| 施甸县| 秦皇岛市| 宁远县| 江永县| 瑞昌市| 来安县| 时尚| 萨迦县| 舒城县| 温州市| 乌兰浩特市| 余江县| 定兴县| 应用必备| 彝良县|