一、java連接池和線程池之間存在什么關系
聯(lián)系
只能說兩者的原理差不多,都是建立一個池,把連接或者線程放進去,但是兩者并無聯(lián)系。原理說像的地方就是都是事先準備好資源。連接池和線程池是完全不一樣的東西。
區(qū)別
連接池:
1、連接池是面向數(shù)據(jù)庫連接的
2、連接池是為了優(yōu)化數(shù)據(jù)庫連接資源
3、連接池有點類似在客戶端做優(yōu)化
數(shù)據(jù)庫連接是一項有限的昂貴資源,一個數(shù)據(jù)庫連接對象均對應一個物理數(shù)據(jù)庫連接,每次操作都打開一個物理連接,使用完都關閉連接,這樣造成系統(tǒng)的性能低下。數(shù)據(jù)庫連接池的解決方案是在應用程序啟動時建立足夠的數(shù)據(jù)庫連接,并將這些連接組成一個連接池,由應用程序動態(tài)地對池中的連接進行申請、使用和釋放。對于多于連接池中連接數(shù)的并發(fā)請求,應該在請求隊列中排隊等待。并且應用程序可以根據(jù)池中連接的使用率,動態(tài)增加或減少池中的連接數(shù)。?
線程池:
1.、線程池是面向后臺程序的
2、線程池是是為了提高內存和CPU效率
3、線程池有點類似于在服務端做優(yōu)化
線程池是一次性創(chuàng)建一定數(shù)量的線程(應該可以配置初始線程數(shù)量的),當用請求過來不用去創(chuàng)建新的線程,直接使用已創(chuàng)建的線程,使用后又放回到線程池中。
避免了頻繁創(chuàng)建線程,及銷毀線程的系統(tǒng)開銷,提高是內存和CPU效率。
延伸閱讀:
二、什么是數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫的應用非常廣泛,舉個例子,我們平時在瀏覽器上搜索內容,就要用到數(shù)據(jù)庫去檢索我們的關鍵字。以前我們可能會用數(shù)組、集合、文件等來存儲數(shù)據(jù),但是接下來我們就會面臨一個問題,當存儲的數(shù)據(jù)或內容過多的時候,我們如何去精準的找到我們需要的東西,這時候數(shù)據(jù)庫管理系統(tǒng)就派上了用場。除此之外,數(shù)據(jù)庫管理系統(tǒng)還能永久的儲存我們的數(shù)據(jù)。
為了便于大家理解,這里先給大家講解幾個概念
DB數(shù)據(jù)庫(database):存儲數(shù)據(jù)的“倉庫”。它保存了一系列有組織的數(shù)據(jù)。
DBMS數(shù)據(jù)庫管理系統(tǒng)(Database Management System):數(shù)據(jù)庫是通過DBMS創(chuàng)建和操作的容器。