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

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

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

    大夢想家

    5年開發(fā)工程師,2年實(shí)施經(jīng)理,X年售前顧問,......
    數(shù)據(jù)加載中……
    再次尋求從事過Java桌面的應(yīng)用的朋友解惑~
           今天早上的Blog大家都看到了,大家的留言我也一一拜讀過了~感謝 zhrb ,千里冰封 javazhai ,BeanSoft ,plankton13 ,mingj 等的回復(fù)。
            下午反省了一下自己的代碼,得出一下結(jié)論和疑問,有時間,請大家再討論一下。
            1.反省代碼,整理所有用過的對象,特別上查詢完數(shù)據(jù)庫返回的上萬條記錄的結(jié)果集,一一將他們制空,然后再System.gc()看看效果;
            2.因?yàn)槭峭ㄓ脭?shù)據(jù)查詢平臺,那么結(jié)果集的展示形式是可以由實(shí)施人員自由定義的,比方說字體,顏色,圖片等等,雖然我沒有使用JFace對資源封裝的統(tǒng)一標(biāo)準(zhǔn)組件,但是絕對是在使用完一一做了銷毀處理,我的疑問是,我對資源做了銷毀處理,是不是這部分資源在虛擬機(jī)中的占用空間依舊存在,也就是并沒有真正的銷毀他們;
                    這里談?wù)勛约旱膶?shí)踐經(jīng)驗(yàn),如果真的是資源的問題,首先出問題的還輪不到Javaw,Eclipse馬上就會出來叫囂,告訴你沒有足夠的資源的可以使用,不能創(chuàng)建GC,字體,顏色或者是圖片等等,如果還是不解決,客戶端的GUI馬上就會變形,變的面目全非~
            3.我現(xiàn)在碰到的問題還不是內(nèi)存不足,或者內(nèi)存溢出,而是Javaw的內(nèi)存占有再不斷的遞增,并不是某一個恒定值區(qū)間;


            希望大家再次賜教!

    客戶虐我千百遍,我待客戶如初戀!

    posted on 2007-10-21 20:34 阿南 閱讀(1376) 評論(12)  編輯  收藏 所屬分類: Eclipse-RCP

    評論

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-21 21:47 mingj

      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 01:34 千里冰封

    還有一點(diǎn),盡量用局部變量,少用成員變量,更不要把大量變量做為參數(shù)傳來傳去。
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~ [未登錄] 2007-10-22 09:50 wzjin

    如果你使用非java代碼,如jni,在操作系統(tǒng)管理器看到的和JProfiler看到的不一樣,前者可能內(nèi)存占用一致增加,后這顯示內(nèi)存占用呈鋸齒型,也就是有垃圾回收作用。你可以試試。沒有用過swt,但是用過jni。
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 10:14 阿南

    其實(shí)SWT底層就是JNI實(shí)現(xiàn)的,那么請問您是如何處理JNI占有大量內(nèi)存的問題的?
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 10:27 豬兒笨笨

    我做RCP比較多,給你以下幾個建議
    1、打開Windows的任務(wù)管理器,先看一下你的UI句柄的數(shù)量,如果過多,表示有資源沒有釋放
    2、用TPTP之類的工具檢查有無大的內(nèi)存占用
    3、如果是Tree的內(nèi)容太多(可能性不太大),用SWT.VIRTUAL試試。

    我感覺應(yīng)該是代碼的問題,而非SWT的問題,因?yàn)槲业捻椖恐杏?0萬行,近百個插件,加上WTP平臺都沒有這個問題。
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 10:39 豬兒笨笨

    如果你使用了圖片,麻煩先在LabelProvider中的getImage返回null,看一下是不是因?yàn)閳D片資源的問題
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 10:41 阿南

    是不是字體,顏色,圖片對資源都有較大影響?
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 10:43 Matthew Chen

    swt就是jni實(shí)現(xiàn)的,所以它dispose的時候一定就釋放了系統(tǒng)的資源(除非swt可能有的bug),留下純java的對象卻是gc管理的,所以你確定dispose了的話問題就還在jvm內(nèi)部,大的數(shù)據(jù)量一般會有緩沖機(jī)制,說到這里,不知你的程序是否依托于容器了,提供了對象緩沖池的實(shí)現(xiàn),需要時獲得對象,釋放時直接歸到池中,不作銷毀,而是供下一次類似的請求直接修改并做二次使用,通過動態(tài)調(diào)整對象數(shù)量來適應(yīng)不同需求。(但也可能內(nèi)存占用增加就時由這部分的不合理使用產(chǎn)生的,看看容器有沒有全局變量的使用,例如session之類的)

    你上一篇中提到任務(wù)管理器顯示占用增加,我覺得并不是程序在占用,而是虛擬機(jī)根據(jù)你程序使用內(nèi)存的趨勢不斷要求系統(tǒng)提供更大的內(nèi)存以保證程序的運(yùn)行。

    還有swt占用的系統(tǒng)資源不會由jvm管理,所以你對swt資源的釋放對jvm內(nèi)存占用沒有影響。
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 10:47 阿南

    恩,你的觀點(diǎn),我同意,JVM應(yīng)該就是在幫我增加內(nèi)存,以防止我再次使用更大的數(shù)據(jù)時,出現(xiàn)內(nèi)存溢出~
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 10:57 阿南

    看來,我得想辦法減少大數(shù)據(jù)量的出現(xiàn)了~我的數(shù)據(jù),每次都是上萬的,而且是一次讀取的,這個就是很可怕的~
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2007-10-22 13:09 豬兒笨笨

    如果你的記錄都是小的記錄
    一條不超過1K,應(yīng)該也不是這個問題
    一萬條也才10M
    我想應(yīng)該還是有數(shù)據(jù)沒有正確釋放
    比如上一次取得的數(shù)據(jù)還被某個static變量持有
      回復(fù)  更多評論    

    # re: 再次尋求從事過Java桌面的應(yīng)用的朋友解惑~  2008-07-06 23:30 三告習(xí)習(xí)

    System.gc() 并不能按照你的意愿馬上回收無效對象,因?yàn)榧ぐl(fā)垃圾回收操作是有條件的,這個條件不是你來決定的,而是虛擬機(jī)以它自己的算法來計算的,函數(shù)的調(diào)用起的作用好像不大。

    如果是swt的話,對象要銷毀與否,分為兩種吧。一種是從系統(tǒng)里調(diào)出來的,比如System.get...,這樣的對象是不需要你來銷毀的,如果是你new出來的,那么你就要負(fù)責(zé)銷毀它,這在于swt上特別重要,java的垃圾回收也不會幫你自動回收好像哦,因?yàn)樗婕暗絡(luò)ni的內(nèi)容,不是虛擬機(jī)能管的吧。

    在swt對象中,最好每個對象都配一個dispost方法,在父容器里管理子對象,父容器被dispost時自動調(diào)用子對象的dispost方法。

    我在使用使用swt時,管理資源還是比較麻煩的,還得好好研究。
      回復(fù)  更多評論    
    主站蜘蛛池模板: 日韩一区二区a片免费观看 | 亚洲人成无码网站| 亚洲AV美女一区二区三区| 91成人免费观看| 亚洲精品天堂成人片AV在线播放 | 国产成人免费网站| 无遮挡国产高潮视频免费观看| 亚洲一区二区三区日本久久九| 久久国产精品免费视频| 亚洲爱情岛论坛永久| 免费观看黄网站在线播放| 产传媒61国产免费| 亚洲人成影院在线高清| 中文字幕亚洲一区二区三区| 皇色在线视频免费网站| 精品人妻系列无码人妻免费视频| 亚洲一级在线观看| 亚洲国产精品一区第二页| 日本特黄特黄刺激大片免费| 99在线观看免费视频| 亚洲国语在线视频手机在线| 亚洲国产成人精品91久久久| 西西大胆无码视频免费| 日本高清免费观看| 免费的黄网站男人的天堂| 亚洲一区二区三区久久久久| 国产亚洲综合成人91精品| 99久久综合精品免费| 国产精品亚洲专区无码WEB| 亚洲视频在线观看网址| 亚洲熟妇丰满多毛XXXX| 暖暖免费高清日本中文| 国产精彩免费视频| 国产成人一区二区三区视频免费| 少妇亚洲免费精品| 亚洲成av人片在线天堂无| 亚洲成人动漫在线观看| 亚洲国产成人久久精品影视| 国产亚洲精品激情都市| 四虎在线播放免费永久视频| 毛片免费全部播放一级|