1. 程式人生 > >常見面試題六--你是否經常用連線池?請說明其含義、作用和工作過程?

常見面試題六--你是否經常用連線池?請說明其含義、作用和工作過程?

問題:你是否經常用連線池?請說明其含義、作用和工作過程?

回答:

連線池的核心思想是連線的複用。通過建立一個連線池,可以避免資料庫連線物件頻繁簡歷和銷燬所帶來的效能開銷。連線池在剛建立時,會一次性的生成多個連線,放置在連線池當中,當應用程式需要訪問資料庫時,就會從連線池當中取得連線物件,而不是新生成連線物件,應用程式對資料庫的訪問結束時,再將連線物件返還到連線池當中,而不是將連線物件銷燬。如果應用程式的併發量大,需要使用的連結物件超過了連線池剛建立時的物件個數,這時就會建立新的連線物件。但是連線池通常都會配置最大連線數,當建立的連線總數超過了達到最大連線數時,就不會再建立新的連線物件了。如果連線池當中的數量大於初始建立的連線數,並且有空閒的連線,那麼這些空閒連線在閒置一段時間之後就會被銷燬。初始建立的連線數量,最大連線數和連線空閒的時間都可以通過配置檔案來指定。在hibernate和Spring當中都可以配置連線池,我最常用的連線池是DBCP和C3P0。