<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 閱讀(1328) 評論(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又沒有好的辦法,在對象池中進行資源的釋放。   回復  更多評論
      
    主站蜘蛛池模板: 日韩精品无码免费专区午夜| 少妇亚洲免费精品| 91成人在线免费视频| 亚洲国产成人一区二区精品区| 日本视频免费观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产在线观看xxxx免费| 中文字幕亚洲专区| 中文字幕av无码不卡免费| 亚洲国产成人一区二区三区| 久久大香香蕉国产免费网站| 亚洲特级aaaaaa毛片| 美女裸身网站免费看免费网站| 亚洲一区二区三区免费在线观看 | 夜夜亚洲天天久久| 日韩免费精品视频| 在线观看国产一区亚洲bd| 无码欧精品亚洲日韩一区夜夜嗨 | 99人中文字幕亚洲区 | 热99re久久精品精品免费| 国产亚洲欧美在线观看| 亚洲成片观看四虎永久| 中文永久免费观看网站| 久久亚洲一区二区| 久久久久久国产a免费观看黄色大片| 亚洲综合中文字幕无线码| 国产人妖ts在线观看免费视频| 免费无码午夜福利片| 亚洲区小说区激情区图片区| 中文字幕免费视频一| 亚洲欧美日韩一区二区三区在线 | 四虎免费永久在线播放| baoyu122.永久免费视频| 亚洲免费观看网站| 亚洲国产精品人人做人人爽| 久久青草精品38国产免费| 97se亚洲国产综合自在线 | 亚洲国产精品久久久久网站| 在线观看成人免费视频| 中文字幕在线免费播放| 亚洲人成在线免费观看|