您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)編程開發(fā)中使用連接池有什么好處,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
連接池是創(chuàng)建和管理一個連接的緩沖池的技術(shù),這些連接準備好被任何需要它們的線程使用。
連接池好處
這種連接“匯集”起來的技術(shù)基于這樣的一個事實:對于大多數(shù)應(yīng)用程序,當(dāng)它們正在處理通常需要數(shù)毫秒完成的事務(wù)時,僅需要能夠訪問JDBC連接的1個線程。當(dāng)不處理事務(wù)時,這個連接就會閑置。相反,連接池允許閑置的連接被其它需要的線程使用。
事實上,當(dāng)一個線程需要用JDBC對一個GBase或其它數(shù)據(jù)庫操作時,它從池中請求一個連接。當(dāng)這個線程使用完了這個連接,將它返回到連接池中,這樣這就可以被其它想使用它的線程使用。
當(dāng)連接從池中“借出”,它被請求它的線程專有地使用。從編程的角度來看,這和用戶的線程每當(dāng)需要一個JDBC連接的時候調(diào)用DriverManager.getConnection()是一樣的,采用連接池技術(shù),可通過使用新的或已有的連接結(jié)束線程。
連接池可以極大的改善用戶的Java應(yīng)用程序的性能,同時減少全部資源的使用。連接池主要的優(yōu)點有:
減少連接創(chuàng)建時間
雖然與其它數(shù)據(jù)庫相比GBase提供了較為快速連接功能,但是創(chuàng)建新的JDBC連接仍會招致網(wǎng)絡(luò)和JDBC驅(qū)動的開銷。如果這類連接是“循環(huán)”使用的,使用該方式這些花銷就可避免。
簡化的編程模式
當(dāng)使用連接池時,每一個單獨的線程能夠像創(chuàng)建了一個自己的JDBC連接一樣操作,允許用戶直接使用JDBC編程技術(shù)。
受控的資源使用
如果用戶不使用連接池,而是每當(dāng)線程需要時創(chuàng)建一個新的連接,那么用戶的應(yīng)用程序的資源使用會產(chǎn)生非常大的浪費并且可能會導(dǎo)致高負載下的異常發(fā)生。
注意,每個連到GBase的連接在客戶端和服務(wù)器端都有花銷(內(nèi)存,CPU,上下文切換等等)。每個連接均會對應(yīng)用程序和GBase服務(wù)器的可用資源帶來一定的限制。不管這些連接是否在做有用的工作,仍將使用這些資源中的相當(dāng)一部分。
連接池能夠使性能最大化,同時還能將資源利用控制在一定的水平之下,如果超過該水平,應(yīng)用程序?qū)⒈罎⒍粌H僅是變慢。
連接池運作原理
在實際應(yīng)用開發(fā)中,特別是在WEB應(yīng)用系統(tǒng)中,如果JSP、Servlet或EJB使用JDBC直接訪問數(shù)據(jù)庫中的數(shù)據(jù),每一次數(shù)據(jù)訪問請求都必須經(jīng)歷建立數(shù)據(jù)庫連接、打開數(shù)據(jù)庫、存取數(shù)據(jù)和關(guān)閉數(shù)據(jù)庫連接等步驟,而連接并打開數(shù)據(jù)庫是一件既消耗資源又費時的工作,如果頻繁發(fā)生這種數(shù)據(jù)庫操作,系統(tǒng)的性能必然會急劇下降,甚至?xí)?dǎo)致系統(tǒng)崩潰。數(shù)據(jù)庫連接池技術(shù)是解決這個問題最常用的方法,在許多應(yīng)用程序服務(wù)器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了這項技術(shù),無需自己編程,但是,深入了解這項技術(shù)是非常必要的。
關(guān)于“編程開發(fā)中使用連接池有什么好處”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。