<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 225  文章 - 98  trackbacks - 0
    <2015年5月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    隨筆分類

    相冊

    報表工具廠商們

    搜索

    •  

    最新評論

    閱讀排行榜

    圖表制作FineReport 連接池原理
    連接池主要由三部分組成:連接池的建立、連接池中連接使用的治理、連接池的關(guān)閉。下面就著重討論這三部分及連接池的配置問題。
    1. 連接池原理
    連接池技術(shù)的核心思想,是連接復(fù)用,通過建立一個數(shù)據(jù)庫連接池以及一套連接使用、分配、治理策略,使得該連接池中的連接可以得到高效、安全的復(fù)用,避免了數(shù)據(jù)庫連接頻繁建立、關(guān)閉的開銷。
    另外,由于對JDBC中的原始連接進行了封裝,從而方便了數(shù)據(jù)庫應(yīng)用對于連接的使用(特別是對于事務(wù)處理),提高了開發(fā)效率,也正是因為這個封裝層的存在,隔離了應(yīng)用的本身的處理邏輯和具體數(shù)據(jù)庫訪問邏輯,使應(yīng)用本身的復(fù)用成為可能。
    1.1 連接池的建立
    應(yīng)用程序中建立的連接池其實是一個靜態(tài)的。所謂靜態(tài)連接池是指連接池中的連接在系統(tǒng)初始化時就已分配好,且不能隨意關(guān)閉連接。Java中提供了很多容器類可以方便的構(gòu)建連接池,如:Vector、Stack、Servlet、Bean等,通過讀取連接屬性文件Connections.properties與數(shù)據(jù)庫實例建立連接。在系統(tǒng)初始化時,根據(jù)相應(yīng)的配置創(chuàng)建連接并放置在連接池中,以便需要使用時能從連接池中獲取,這樣就可以避免連接隨意的建立、關(guān)閉造成的開銷。
    1.2 連接池的治理
    連接池治理策略是連接池機制的核心。當連接池建立后,如何對連接池中的連接進行治理,解決好連接池內(nèi)連接的分配和釋放,對系統(tǒng)的性能有很大的影響。連接的合理分配、釋放可提高連接的復(fù)用,降低了系統(tǒng)建立新連接的開銷,同時也加速了用戶的訪問速度。下面介紹連接池中連接的分配、釋放策略。
    連接池的分配、釋放策略對于有效復(fù)用連接非常重要,我們采用的方法是一個很有名的設(shè)計模式:Reference Counting(引用記數(shù))。該模式在復(fù)用資源方面應(yīng)用的非常廣泛,把該方法運用到對于連接的分配釋放上,為每一個數(shù)據(jù)庫連接,保留一個引用記數(shù),用來記錄該連接的使用者的個數(shù)。
    1.3 連接池的關(guān)閉
    當應(yīng)用程序退出時,應(yīng)關(guān)閉連接池,此時應(yīng)把在連接池建立時向數(shù)據(jù)庫申請的連接對象統(tǒng)一歸還給數(shù)據(jù)庫(即關(guān)閉所有數(shù)據(jù)庫連接),這與連接池的建立正好是一個相反過程。
    連接池分配一個連接后如定義一個數(shù)據(jù)集,點擊預(yù)覽,執(zhí)行完對應(yīng)的sql語句會將所占用的連接歸還連接池。
    2. 連接池的配置
    數(shù)據(jù)庫連接池中到底要放置多少個連接,才能使系統(tǒng)的性能更佳,用minConn和maxConn來限制。
    minConn是當應(yīng)用啟動的時候連接池所創(chuàng)建的連接數(shù),假如過大啟動將變慢,但是啟動后響應(yīng)更快;假如過小啟動加快,但是最初使用的用戶將因為連接池中沒有足夠的連接不可避免的延緩了執(zhí)行速度。因此應(yīng)該在開發(fā)的過程中設(shè)定較小minConn,而在實際應(yīng)用的中設(shè)定較大minConn。maxConn是連接池中的最大連接數(shù),可以通過反復(fù)試驗來確定此飽和點。
    為此在連接池類ConnectionPool中加入兩個方法getActiveSize()和getOpenSize(),ActiveSize 表示某一時間有多少連接正被使用,OpenSize表示連接池中有多少連接被打開,反映了連接池使用的峰值。將這兩個值在日志信息中反應(yīng)出來, minConn的值應(yīng)該小于平均ActiveSize,而maxConn的值應(yīng)該在activeSize和OpenSize之間。


    了解Java報表工具就從這里開始
    posted on 2015-05-18 10:40 season 閱讀(157) 評論(0)  編輯  收藏 所屬分類: Java報表—技術(shù)知識Java報表—使用心得
    主站蜘蛛池模板: 亚洲免费观看视频| 亚洲av一本岛在线播放| 欧美日韩国产免费一区二区三区| 永久免费无码网站在线观看个| 亚洲中文字幕无码久久2020 | 亚洲一级毛片在线观| 亚洲综合国产一区二区三区| 国产免费怕怕免费视频观看| 久久久久国色AV免费看图片| 午夜老司机永久免费看片| 国产高潮久久免费观看| 麻豆91免费视频| 亚洲精品精华液一区二区| 亚洲国产超清无码专区| 亚洲精品视频观看| 亚洲国产精品免费视频| 久久亚洲国产午夜精品理论片| 精品国产人成亚洲区| 亚洲精品97久久中文字幕无码| 四虎永久免费地址在线网站| 日本特黄特色免费大片| 日韩午夜免费视频| 女人被男人躁的女爽免费视频| 毛片a级毛片免费观看免下载 | 日本亚洲色大成网站www久久| 亚洲蜜芽在线精品一区| 久久精品国产亚洲AV无码麻豆 | 一级特黄aa毛片免费观看| 久久永久免费人妻精品| 日本在线看片免费| 精品无码人妻一区二区免费蜜桃| 99精品视频在线观看免费专区 | 久久亚洲国产视频| 亚洲A∨无码一区二区三区| 久久亚洲免费视频| 中文字幕亚洲综合久久| 亚洲黄色在线网站| 亚洲同性男gay网站在线观看| 国产精品亚洲精品观看不卡| 亚洲国产精品无码久久98| 国产亚洲精品美女2020久久|