天天看點

java 連接配接池_java-資料庫連接配接池

資料庫連接配接是一種關鍵的有限的昂貴的資源,每次的建立和關閉都是資源的消耗:

以前的的每次連接配接流程:

java 連接配接池_java-資料庫連接配接池

三次握手,mysql執行,四次握手

使用連接配接池:

java 連接配接池_java-資料庫連接配接池

連接配接池中的連接配接隻會一直存在,隻是可能不被使用罷了,

減少建立連接配接和關閉連接配接的操作,執行SQL語句隻需執行即可

連接配接池的流程:

1在系統初始化時,連接配接池會根據系統配置建立,并在池中建立了幾個連接配接對象,以便使用時能從連接配接池中擷取

2當客戶請求資料庫連接配接時,首先檢視連接配接池中是否有空閑連接配接,如果存在空閑連接配接,則将連接配接配置設定給客戶使用;

2如果沒有空閑連接配接,則檢視目前所開的連接配接數是否已經達到最大連接配接數,如果沒達到就重新建立一個連接配接給請求的客戶;

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

2當客戶釋放資料庫連接配接時,先判斷該連接配接的引用次數是否超過了規定值

如果超過就從連接配接池中删除該連接配接

,否則保留為其他客戶服務。

33當應用程式退出時,關閉連接配接池中所有的連接配接,釋放連接配接池相關的資源,該過程正好與建立相反

入下圖:

java 連接配接池_java-資料庫連接配接池

java常見的連接配接池:

有dbcp、druid、HikariCP、tomcat-jdbc、c3p0

對比

性能從高到底分别是:HikariCP、druid、tomcat-jdbc、c3p0

java 連接配接池_java-資料庫連接配接池

繼續閱讀