JAVA數(shù)據(jù)庫(kù)連接池技術(shù)在文化創(chuàng)業(yè)產(chǎn)業(yè)中的應(yīng)用.doc_第1頁(yè)
JAVA數(shù)據(jù)庫(kù)連接池技術(shù)在文化創(chuàng)業(yè)產(chǎn)業(yè)中的應(yīng)用.doc_第2頁(yè)
JAVA數(shù)據(jù)庫(kù)連接池技術(shù)在文化創(chuàng)業(yè)產(chǎn)業(yè)中的應(yīng)用.doc_第3頁(yè)
JAVA數(shù)據(jù)庫(kù)連接池技術(shù)在文化創(chuàng)業(yè)產(chǎn)業(yè)中的應(yīng)用.doc_第4頁(yè)
JAVA數(shù)據(jù)庫(kù)連接池技術(shù)在文化創(chuàng)業(yè)產(chǎn)業(yè)中的應(yīng)用.doc_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

北京聯(lián)合大學(xué)應(yīng)用文理學(xué)院 學(xué)年論文 北京聯(lián)合大學(xué)應(yīng)用文理學(xué)院學(xué)年論文專 業(yè) 信息與計(jì)算科學(xué) 論文題目 JAVA數(shù)據(jù)庫(kù)連接池技術(shù)在文化創(chuàng)業(yè)產(chǎn)業(yè)中的應(yīng)用姓 名 張遜 班 級(jí) 2009 指導(dǎo)教師 逯燕玲 實(shí)踐時(shí)間 20011年12月2012年2月 一、學(xué)年論文的目的和任務(wù)學(xué)年論文是信息與計(jì)算科學(xué)專業(yè)學(xué)生必修的專業(yè)實(shí)踐課程,屬于人才培養(yǎng)的重要實(shí)踐性教學(xué)環(huán)節(jié)之一,是培養(yǎng)學(xué)生創(chuàng)新精神和鉆研能力的重要手段。在開展了專業(yè)集中實(shí)踐教學(xué)模塊(一)、(二)、(三)的基礎(chǔ)上,要求學(xué)生發(fā)現(xiàn)一個(gè)實(shí)際問(wèn)題,經(jīng)過(guò)調(diào)研、收集資料、分析問(wèn)題并努力解決問(wèn)題的過(guò)程,使學(xué)生學(xué)會(huì)獨(dú)立提出問(wèn)題并解決所提出的問(wèn)題。學(xué)年論文的撰寫培養(yǎng)學(xué)生做學(xué)問(wèn)的嚴(yán)謹(jǐn)和規(guī)范,學(xué)生用所學(xué)的本專業(yè)知識(shí)進(jìn)行實(shí)際調(diào)研和分析,不僅可使學(xué)到的基礎(chǔ)知識(shí)和技能得到進(jìn)一步理解和強(qiáng)化,而且有助于培養(yǎng)學(xué)生獲取知識(shí)的能力和分析、概括總結(jié)的能力,也為畢業(yè)論文的寫作打下一定的基礎(chǔ)。二、學(xué)年論文的內(nèi)容與要求(一)選題要求學(xué)年論文的選題要求是一人一題,主要由學(xué)生自主選題,也可由教師指導(dǎo)選題。選題要新穎,具有一定的深度、難度與工作量。選題可從以下幾個(gè)方面進(jìn)行:(1)闡明本學(xué)科理論在實(shí)際應(yīng)用中的一些問(wèn)題;(2)探討本學(xué)科中某些觀念、熱點(diǎn)問(wèn)題或研究歷史進(jìn)程、預(yù)測(cè)其發(fā)展趨勢(shì);(3)闡述本學(xué)科領(lǐng)域發(fā)展進(jìn)程中的重大事件和重要問(wèn)題;(4)對(duì)專業(yè)課程中的某一部分內(nèi)容進(jìn)行討論或研究。(二)學(xué)年論文要求(1)系統(tǒng)、完整地闡述論題所包含的問(wèn)題,明確表達(dá)作者自己的觀點(diǎn)與結(jié)論;(2)綜合應(yīng)用已學(xué)的專業(yè)理論與知識(shí),融會(huì)貫通所掌握的資料;(3)學(xué)生通過(guò)結(jié)合幾年的學(xué)習(xí)經(jīng)歷進(jìn)行思考、選題、查閱資料最后寫出論文;(4)要求學(xué)生撰寫不少于3000字的論文,語(yǔ)言要求文理通順,層次分明,表達(dá)較確切,格式符合規(guī)范;(5)參考文獻(xiàn)要查閱5本參考書目和5篇學(xué)術(shù)論文以上,文中引用的需要標(biāo)注。摘 要隨著Internet/Intranet建網(wǎng)技術(shù)的飛速發(fā)展和在世界范圍內(nèi)的迅速普及,電子商務(wù)開始更加重要,商務(wù)網(wǎng)站吸引了大量的用戶,訪問(wèn)量逐漸增大,導(dǎo)致了網(wǎng)站相應(yīng)速度明顯變慢甚至無(wú)法響應(yīng)。所以商務(wù)網(wǎng)站管理應(yīng)開始從程序設(shè)計(jì)方面,數(shù)據(jù)庫(kù)的連接性能方面優(yōu)化。JAVA語(yǔ)言的跨平臺(tái)型、可移植性健全性在網(wǎng)絡(luò)應(yīng)用中有很明顯的優(yōu)勢(shì),采用JAVA語(yǔ)言為基礎(chǔ)是解決連接數(shù)據(jù)庫(kù)平靜的很好的解決辦法,可以使系統(tǒng)性能獲得顯著的提高。關(guān)鍵詞:JAVAWEB 數(shù)據(jù)庫(kù)連接池 優(yōu)化 設(shè)計(jì)方案1引言 在基于Web 的應(yīng)用程序開發(fā)中, 數(shù)據(jù)庫(kù)支持下的Web 頁(yè)可以具有存儲(chǔ)、搜索和智能處理等功能。數(shù)據(jù)庫(kù)連接是一類重要的資源, 連接數(shù)據(jù)庫(kù)不僅要開銷一定的通訊和內(nèi)存資源, 還必須完成用戶認(rèn)證、安全上下文配置這類任務(wù), 因而往往成為最耗時(shí)的操作。隨著Web 應(yīng)用的不斷深入、用戶數(shù)量的增加以及Internet 上用戶請(qǐng)求的隨機(jī)性,必然會(huì)出現(xiàn)并發(fā)的用戶請(qǐng)求??蛻舳说牟l(fā)請(qǐng)求會(huì)引起應(yīng)用程序與數(shù)據(jù)庫(kù)連接數(shù)的增加, 從而使應(yīng)用程序效率下降。這與人們對(duì)基于Web 的系統(tǒng)具有足夠的動(dòng)態(tài)交互能力的要求產(chǎn)生了矛盾。為解決這一矛盾, 除了需要選擇配置高性能的服務(wù)器外, 還應(yīng)有高效的軟件技術(shù)來(lái)支持。通過(guò)Web與數(shù)據(jù)庫(kù)相結(jié)合也是構(gòu)造高效Web 應(yīng)用不可缺少的內(nèi)容, 而Web 訪問(wèn)數(shù)據(jù)庫(kù)效率的高低, 直接影響到系統(tǒng)的整體性能。2數(shù)據(jù)庫(kù)連接池基本原理連接池技術(shù)就是預(yù)先建立一些連接放置于內(nèi)存中以備使用, 當(dāng)程序中需要建立數(shù)據(jù)庫(kù)連接時(shí), 并不需要直接向數(shù)據(jù)庫(kù)連接器發(fā)出請(qǐng)求, 而只需要從數(shù)據(jù)庫(kù)連接池中取得所需要的連接; 當(dāng)應(yīng)用程序使用完一個(gè)連接, 并不從物理上關(guān)掉連接, 而是將連接還回到連接池 。1使用連接池技術(shù)的優(yōu)點(diǎn)主要體現(xiàn)在以下方面: 不用為每個(gè)用戶請(qǐng)求建立新的連接, 可以提高數(shù)據(jù)庫(kù)訪問(wèn)的效率和整個(gè)應(yīng)用程序的性能; 不用重復(fù)為連接用戶名、連接密碼等數(shù)據(jù)庫(kù)訪問(wèn)的細(xì)節(jié)編碼, 節(jié)省編程工作量; 方便地控制連接到數(shù)據(jù)庫(kù)的許可用戶數(shù), 商業(yè)應(yīng)用中在成本、安全性方面優(yōu)勢(shì)明顯; 在數(shù)據(jù)庫(kù)系統(tǒng)更換時(shí)保證應(yīng)用程序不用作大的調(diào)整 。3實(shí)現(xiàn)JAVA數(shù)據(jù)庫(kù)連接池的途徑 3.1連接池的基本操作 連接池一般由三部分組成: 連接池的建立, 連接池對(duì)連接的管理和連接池的關(guān)閉。(1)連接池的建立:建立連接池。首先建立一個(gè)靜態(tài)連接池, 所謂靜態(tài)是指, 池中的連接在系統(tǒng)初始化時(shí)就分配好了, 并且不能隨意關(guān)閉。在Java 中用Vector可以方便地構(gòu)建連接池4。(2)連接池對(duì)連接的管理:連接池的自管理。連接池管理策略是連接池機(jī)制的核心。當(dāng)客戶需要訪問(wèn)數(shù)據(jù)庫(kù)時(shí), 不是直接同數(shù)據(jù)建立連接, 而是向連接池申請(qǐng)一個(gè)連接 2 。同樣, 當(dāng)客戶訪問(wèn)數(shù)據(jù)庫(kù)完畢, 釋放連接時(shí),并不是直接關(guān)閉連接, 而是向連接池釋放連接。當(dāng)客戶應(yīng)用向連接池請(qǐng)求數(shù)據(jù)庫(kù)連接時(shí), 先查看池中是否有空閑連接, 如有, 則把空閑連接分配給客戶,如池中沒有空閑連接, 則等待, 直到有空閑連接分配給客戶, 此時(shí)該連接被多個(gè)用戶復(fù)用。當(dāng)客戶釋放連接時(shí), 喚醒所有等待連接的客戶線程并作相應(yīng)處理。如果連接釋放后, 沒有等待連接的客戶線程,則把它重新放回連接池中, 并不關(guān)閉連接。由此可知, 連接池能保證數(shù)據(jù)庫(kù)連接的有效復(fù)用, 避免頻繁地建立、釋放連接所帶來(lái)的系統(tǒng)資源開銷。3(3)關(guān)閉連接池:當(dāng)應(yīng)用程序退出時(shí), 應(yīng)關(guān)閉連接池, 此時(shí)應(yīng)把連接池建立時(shí)向數(shù)據(jù)庫(kù)申請(qǐng)的連接對(duì)統(tǒng)一歸還給數(shù)據(jù)庫(kù)。3.2數(shù)據(jù)庫(kù)連接池的設(shè)計(jì)方案連接池設(shè)計(jì)包括兩部分: 連接池的建立及對(duì)池中連接的分配和釋放的管理。(1)連接池的建立:在系統(tǒng)初始化時(shí), 通過(guò)讀取XML 配置文件中的參數(shù)和對(duì)應(yīng)取值, 應(yīng)用程序在內(nèi)存中建立一個(gè)靜態(tài)連接池。靜態(tài)是指對(duì)于應(yīng)用程序來(lái)說(shuō)連接池是唯一的, 連接池的參數(shù)配置也是確定的。當(dāng)連接池對(duì)象被初始化后, 池中已創(chuàng)建好一定數(shù)量的連接, 且不能隨意關(guān)閉它們, 以后線程所使用的連接都是從連接池中獲取的, 這樣就可以避免因連接隨意的建立、關(guān)閉而造成的內(nèi)存開銷。(2)連接的分配于釋放:當(dāng)連接池建立后, 如何設(shè)定連接池的管理機(jī)制成為接下來(lái)的關(guān)鍵問(wèn)題。采用 “Reference Counting”的設(shè)計(jì)模式, 為每一個(gè)數(shù)據(jù)庫(kù)連接設(shè)置一個(gè)引用計(jì)數(shù), 通過(guò)記錄該連接的使用次數(shù), 決定其再次復(fù)用或是被釋放。如圖一所示。當(dāng)有線程請(qǐng)求數(shù)據(jù)庫(kù)連接時(shí), 首先查看連接池中的空閑隊(duì)列, 空閑隊(duì)列用于存放未分配的連接。如果存在空閑連接就將其分配給該線程, 同時(shí)注冊(cè)到已分配的隊(duì)列中, 對(duì)應(yīng)引用計(jì)數(shù)加1。若空閑隊(duì)列為空, 則查看當(dāng)前所創(chuàng)建的連接數(shù)是否達(dá)到max act ive, 如果未達(dá)到就創(chuàng)建一個(gè)新的連接給請(qǐng)求的線程; 如果已達(dá)到max act ive, 則等待連接的釋放, 當(dāng)?shù)却龝r(shí)間大于maxwait 后仍沒有連接釋放, 就返回請(qǐng)求失敗的程序。當(dāng)有線程釋放數(shù)據(jù)庫(kù)連接時(shí), 先查看該連接的引用計(jì)數(shù)是否超過(guò)了max use, 如果超過(guò)就將其刪除, 同時(shí)檢查當(dāng)前連接池中的空閑隊(duì)列, 如果空閑隊(duì)列中的連接數(shù)小于max idle,就創(chuàng)建新連接到空閑隊(duì)列, 以保證有適量的連接備用; 如果引用計(jì)數(shù)小于maxuse, 就將連接歸還空閑隊(duì)列, 以供再次使用。43.3 連接池的優(yōu)化(1)動(dòng)態(tài)連接池模型:針對(duì)靜態(tài)連接池的局限性, 提出了動(dòng)態(tài)連接池優(yōu)化模型, 通過(guò)動(dòng)態(tài)地加載、修改、刪除連接池, 可以為不同類型的數(shù)據(jù)庫(kù)同時(shí)創(chuàng)建連接池對(duì)象, 實(shí)現(xiàn)靈活地配置連接池參數(shù), 使系統(tǒng)性能得到更大的優(yōu)化。(2)連接池管理類:連接池管理類符合單例模式, 即系統(tǒng)中只能有一個(gè)連接池管理類的實(shí)例。這個(gè)實(shí)例在創(chuàng)建后便一直運(yùn)行, 用于對(duì)多個(gè)連接池對(duì)象的管理, 它提供以下功能:實(shí)例創(chuàng)建時(shí)裝載并注冊(cè)配置文件中的數(shù)據(jù)庫(kù)的DBC 驅(qū)動(dòng)程序;根據(jù)配置文件中給定的信息創(chuàng)建連接池對(duì)象, 每一個(gè)連接池對(duì)象都有一個(gè)名字;提供獲取與釋放給定連接池連接的接口;提供注冊(cè)新連接池, 修改、刪除己有連接池的接口;設(shè)置運(yùn)行日志。5引入連接池管理類主要是為了方便對(duì)多個(gè)連接池的使用和管理, 如系統(tǒng)需要連接不同類型的數(shù)據(jù)庫(kù)等。當(dāng)應(yīng)用程序創(chuàng)建一個(gè)連接池分配類對(duì)象, 這個(gè)對(duì)象在創(chuàng)建時(shí)便獲得了連接池管理類實(shí)例: 通過(guò)該實(shí)例的創(chuàng)建可以在內(nèi)存中加載配置文件中記錄的所有數(shù)據(jù)庫(kù)對(duì)應(yīng)的連接池對(duì)象, 在程序運(yùn)行中, 可以動(dòng)態(tài)的修改連接池的參數(shù), 使系統(tǒng)能夠根據(jù)應(yīng)用程序的不同要求, 靈活配置連接池中連接的最大空閑數(shù)和最大連接數(shù)等。4 結(jié)束語(yǔ)Java 的Web 開發(fā)技術(shù)由于其平臺(tái)無(wú)關(guān)性,功能強(qiáng)大,支持公司多,升級(jí)維護(hù)方便的優(yōu)點(diǎn),使得Java 的Web 技術(shù)將會(huì)有越來(lái)越廣泛的應(yīng)用。盡管Java技術(shù)越來(lái)越成熟,但是在利用該技術(shù)進(jìn)行信息化管理系統(tǒng)的開發(fā)過(guò)程,仍存在一些不足。在使用Java 進(jìn)行與數(shù)據(jù)庫(kù)有關(guān)的系統(tǒng)開發(fā)中, 應(yīng)用連接池技術(shù)能極大地減少數(shù)據(jù)庫(kù)連接的建立和關(guān)閉。我在這里探討了數(shù)據(jù)庫(kù)連接池的基本模型和設(shè)計(jì)方案, 并在靜態(tài)連接池的基礎(chǔ)上, 通過(guò)設(shè)計(jì)連接池分配類和管理類來(lái)實(shí)現(xiàn)動(dòng)態(tài)連接池的構(gòu)建, 并提出了相應(yīng)的動(dòng)態(tài)連接池優(yōu)化模型。在開發(fā)的基于web 的部門辦公數(shù)字化管理信息系統(tǒng)中應(yīng)用了優(yōu)化的連接池技術(shù), 降低了系統(tǒng)開銷, 極大地提高了數(shù)據(jù)庫(kù)的訪問(wèn)效率。參考文獻(xiàn)1 張立仿,陳艷浩. 基于Java 的數(shù)據(jù)庫(kù)連接池技術(shù)研究河南師范大學(xué)網(wǎng)絡(luò)中心,河南新鄉(xiāng)2009.2Ho rsta nn C S. Java 2 核心技術(shù)( 卷) : 高級(jí)特性 M . 朱志譯. 北京: 機(jī)械工業(yè)出版社, 2000. 3周彩蘭,陳才賢基于Java和Web數(shù)據(jù)庫(kù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論