程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 數據庫連接池,數據庫連接池java

數據庫連接池,數據庫連接池java

編輯:JAVA綜合教程

數據庫連接池,數據庫連接池java


一、為什麼要使用數據庫連接池?

數據庫連接資源是非常昂貴的,特別是訪問數據庫需要通過網絡的時候,更能體現。單純的物理連接,會造成性能低下。

所以引入了數據庫連接池的概念,連接池盡可能的重用了資源,大大節省了內存。提高了程序的性能。

同時也可以對數據庫連接池實現更加個性化的管理。

二、數據庫連接池?

基本思想就是“緩沖池”。相當於架設在應用程序與數據庫之前的一個橋梁。最開始的時候,我們直接從數據庫中獲取連接,

現在我們從緩沖池中獲取連接。同時對於這個“緩沖池”可以進行控制。

三、數據庫連接池工作原理?

連接池的工作原理主要由三部分組成,分別為連接池的建立、連接池中連接的使用管理、連接池的關閉。

第一、連接池的建立。一般在系統初始化時,連接池會根據系統配置建立,並在池中創建了幾個連接對象,以便使用時能從連接池中獲取。

連接池中的連接不能隨意創建和關閉,這樣避免了連接隨意建立和關閉造成的系統開銷。

第二、連接池的管理。連接池管理策略是連接池機制的核心,連接池內連接的分配和釋放對系統的性能有很大的影響。

其管理策略是:

當客戶請求數據庫連接時,首先查看連接池中是否有空閒連接,如果存在空閒連接,則將連接分配給客戶使用;

如果沒有空閒連接,則查看當前所開的連接數是否已經達到最大連接數,如果沒達到就重新創建一個連接給請求的客戶;

如果達到就按設定的最大等待時間進行等待,如果超出最大等待時間,則拋出異常給客戶。

當客戶釋放數據庫連接時,先判斷該連接的引用次數是否超過了規定值,如果超過就從連接池中刪除該連接,否則保留為其他客戶服務。

該策略保證了數據庫連接的有效復用,避免頻繁的建立、釋放連接所帶來的系統資源開銷。

第三、連接池的關閉。當應用程序退出時,關閉連接池中所有的連接,釋放連接池相關的資源,該過程正好與創建相反。

四、常見的數據庫連接池

C3P0

DBCP

五、用圖說話

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved