隨筆-348  評(píng)論-598  文章-0  trackbacks-0

          目前正在為一個(gè)C/S架構(gòu)的超市業(yè)務(wù)往來(lái)系統(tǒng)進(jìn)行系統(tǒng)架構(gòu),為了提升性能和改善維護(hù)性,我準(zhǔn)備使用對(duì)象池技術(shù),在此之前參考了BeanSoft的那篇對(duì)象池代碼,用.Net重寫(xiě)了一個(gè)并測(cè)試了性能。

          測(cè)試用例:
              10000次生成OleDbConnection的實(shí)例,并使用Open方法打開(kāi)連接
          結(jié)果:
              直接使用new語(yǔ)句生成實(shí)例不釋放 需要12秒多一點(diǎn)
              使用對(duì)象池生成實(shí)例不釋放 需要7秒多一點(diǎn)
              性能提升約 48%左右

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

          看來(lái)主要是因?yàn)檎加玫馁Y源不釋放,導(dǎo)致系統(tǒng)變慢。換句話說(shuō),如果系統(tǒng)需要比較頻繁的調(diào)用某些對(duì)象的實(shí)例的話,那么可以使用對(duì)象池技術(shù)來(lái)改善總體性能。



          ---------------------------------------------------------
          專注移動(dòng)開(kāi)發(fā)

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

          評(píng)論:
          # re: 對(duì)象池技術(shù)[未登錄](méi) 2007-11-11 09:59 | 吳開(kāi)春
          對(duì)象池相對(duì)于new的優(yōu)勢(shì)表現(xiàn)在對(duì)象重用上,這之間少了一個(gè)(創(chuàng)建時(shí)間-檢索時(shí)間).另外,每次新建對(duì)象的產(chǎn)生和jvm垃圾收集過(guò)程對(duì)系統(tǒng)性能的影響也同時(shí)消除了.理論上是應(yīng)該加快系統(tǒng)運(yùn)行速度.

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

          不知道flybean又沒(méi)有好的辦法,在對(duì)象池中進(jìn)行資源的釋放。   回復(fù)  更多評(píng)論
            
          專注移動(dòng)開(kāi)發(fā)--Windows Mobile, Android, iPhone, J2ME, BlackBerry, Symbian, Windows Phone

          慢慢混,慢慢學(xué)
          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          常用鏈接

          留言簿(43)

          隨筆分類(402)

          隨筆檔案(306)

          相冊(cè)

          我的好友們

          搜索

          •  

          積分與排名

          • 積分 - 812266
          • 排名 - 50

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 界首市| 长宁县| 常熟市| 闽清县| 雷波县| 合水县| 两当县| 玉环县| 营山县| 大宁县| 遂溪县| 安龙县| 太保市| 西贡区| 石首市| 峨边| 孝义市| 和林格尔县| 新沂市| 乳山市| 万年县| 兖州市| 从化市| 利川市| 荣成市| 安徽省| 阿坝| 锦屏县| 洪江市| 延津县| 平和县| 陇南市| 株洲市| 军事| 高雄县| 芜湖市| 大埔区| 吉安市| 小金县| 延寿县| 湛江市|