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

三次握手,mysql執行,四次握手
使用連接配接池:
連接配接池中的連接配接隻會一直存在,隻是可能不被使用罷了,
減少建立連接配接和關閉連接配接的操作,執行SQL語句隻需執行即可
連接配接池的流程:
1在系統初始化時,連接配接池會根據系統配置建立,并在池中建立了幾個連接配接對象,以便使用時能從連接配接池中擷取
2當客戶請求資料庫連接配接時,首先檢視連接配接池中是否有空閑連接配接,如果存在空閑連接配接,則将連接配接配置設定給客戶使用;
2如果沒有空閑連接配接,則檢視目前所開的連接配接數是否已經達到最大連接配接數,如果沒達到就重新建立一個連接配接給請求的客戶;
2如果達到就按設定的最大等待時間進行等待,如果超出最大等待時間,則抛出異常給客戶。
2當客戶釋放資料庫連接配接時,先判斷該連接配接的引用次數是否超過了規定值
如果超過就從連接配接池中删除該連接配接
,否則保留為其他客戶服務。
33當應用程式退出時,關閉連接配接池中所有的連接配接,釋放連接配接池相關的資源,該過程正好與建立相反
入下圖:
java常見的連接配接池:
有dbcp、druid、HikariCP、tomcat-jdbc、c3p0
對比
性能從高到底分别是:HikariCP、druid、tomcat-jdbc、c3p0