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

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

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

    隨筆-348  評論-598  文章-0  trackbacks-0

    目前正在為一個C/S架構的超市業務往來系統進行系統架構,為了提升性能和改善維護性,我準備使用對象池技術,在此之前參考了BeanSoft的那篇對象池代碼,用.Net重寫了一個并測試了性能。

    測試用例:
        10000次生成OleDbConnection的實例,并使用Open方法打開連接
    結果:
        直接使用new語句生成實例不釋放 需要12秒多一點
        使用對象池生成實例不釋放 需要7秒多一點
        性能提升約 48%左右

    但是如果在每次使用之后都調用Close()方法釋放資源的話,則兩者性能基本相同。

    看來主要是因為占用的資源不釋放,導致系統變慢。換句話說,如果系統需要比較頻繁的調用某些對象的實例的話,那么可以使用對象池技術來改善總體性能。



    ---------------------------------------------------------
    專注移動開發

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2007-11-10 22:53 TiGERTiAN 閱讀(1341) 評論(4)  編輯  收藏 所屬分類: JavaDotNet

    評論:
    # re: 對象池技術[未登錄] 2007-11-11 09:59 | 吳開春
    對象池相對于new的優勢表現在對象重用上,這之間少了一個(創建時間-檢索時間).另外,每次新建對象的產生和jvm垃圾收集過程對系統性能的影響也同時消除了.理論上是應該加快系統運行速度.

    感覺比較適用于運行期狀態無關類,否則每次都要恢復默認,用起來也是很麻煩的一件事.  回復  更多評論
      
    # re: 對象池技術 2007-11-11 12:55 | TiGERTiAN
    運行期狀態有關的類也可以用,不過需要定義一個Close之類的方法,然后利用反射機制調用該方法來釋放資源和恢復默認值。  回復  更多評論
      
    # re: 對象池技術 2007-11-11 22:54 | flybean
    當調用者調用的close()方法應該是將連接返回到池中,真正關閉連接是池要做的。  回復  更多評論
      
    # re: 對象池技術 2007-11-12 11:19 | TiGERTiAN
    @flybean
    這樣做是對的,不過我想用對象池技術,而不單純用連接池。
    我昨天晚上作了一個多小時的測試,發現用反射機制調用Close()方法關閉連接,空間和時間都增加了3%-5%,這不是我所希望的,所以我可能會用一個方法封裝好Close(),其中顯示的調用Close,這樣不必要花費反射的代價。

    不知道flybean又沒有好的辦法,在對象池中進行資源的釋放。   回復  更多評論
      
    主站蜘蛛池模板: a级成人免费毛片完整版| 理论片在线观看免费| 中文字幕在线日亚洲9| 一进一出60分钟免费视频| 亚洲一区免费视频| 亚洲一区视频在线播放 | 久久久久国色AV免费观看性色| 亚洲精品人成无码中文毛片| 亚洲国色天香视频| 日韩精品无码免费专区网站| 国产高清免费观看| 亚洲一区二区三区四区视频| 99久久婷婷免费国产综合精品| 丁香五月亚洲综合深深爱| 亚洲乱人伦中文字幕无码| 67pao强力打造高清免费| 亚洲无av在线中文字幕| 美女被爆羞羞网站免费| 亚洲一区二区三区在线播放| 久久精品免费一区二区三区| 国产精品亚洲mnbav网站| 国产成人免费AV在线播放 | 亚洲乱码一二三四区国产| a级片免费观看视频| 亚洲图片在线观看| 182tv免费视频在线观看| 亚洲日韩乱码久久久久久| 四虎影视大全免费入口| 亚洲午夜在线播放| 青草草色A免费观看在线| 噜噜噜亚洲色成人网站∨| 无码日韩精品一区二区三区免费| 中文字幕不卡亚洲| 免费人成在线观看69式小视频| 欧洲亚洲国产精华液| 日韩一区二区三区免费体验| 亚洲成AV人影片在线观看| 在线永久免费观看黄网站| 精品免费久久久久国产一区 | 18禁无遮挡无码国产免费网站| 亚洲欧美不卡高清在线|