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

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

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

    cyj86

    2011年6月13日 #

    Java加載dll,導(dǎo)致Java進(jìn)程內(nèi)存泄露

    By zhaoch

    在做網(wǎng)絡(luò)監(jiān)控系統(tǒng)性能測試時,出現(xiàn)了內(nèi)存泄露的問題,困擾了很久,現(xiàn)在終于算是解決了,但是根本原因尚不明確,拿出來大家討論下,看看能不能完美解決~

    這個問題奇怪的地方在于是Java進(jìn)程內(nèi)存泄露,而不是平常的JVM內(nèi)存泄露,用Jprofile等工具也無法看出問題所在。

    測試代碼如下:

     1 System.loadLibrary("test1");
     2 
     3         int threadPoolSize = 400;
     4         ExecutorService service = Executors.newFixedThreadPool(threadPoolSize);
     5 
     6         for (int i = 0; i < 400; i++) {
     7             service.submit(new Runnable() {
     8                 public void run() {
     9                     while (true) {
    10                         try {
    11                             Thread t = new Thread();
    12                             t.start();
    13                             Thread.sleep(100);
    14                         } catch (Exception e) {
    15                             e.printStackTrace();
    16                         }
    17                     }
    18                 }
    19             });
    20         }

    說明:此段代碼所做的工作就是加載一個dll,然后不斷的啟動線程(線程什么也不做,直接終止)。
    注:線程池只是為了加速問題復(fù)現(xiàn),無其他用處。

    現(xiàn)象:
    1.如果不加載dll,只不斷的啟動線程,Java進(jìn)程內(nèi)存正常,不會一直增長。
    2.如果加載附件中test1的dll,Java進(jìn)程內(nèi)存會一直增長。
    3.如果加載附件中test2的dll(需要安裝C++運行環(huán)境vcredist_x86),Java進(jìn)程內(nèi)存正常,不會一直增長。

    dll說明:
    dll的工程源碼在附件中,test1和test2的區(qū)別只在于編譯選項,如附件:test1選擇的是“使用標(biāo)準(zhǔn)Windows庫”或“在靜態(tài)庫中使用MFC”,test2選擇的是“在共享DLL中使用MFC”
    此dll工程的特點在于使用了jni,并引入了mfc頭文件【#include <afxwin.h>】,如果不引入mfc頭文件則不會引起內(nèi)存泄漏


    目前此問題的根本原因尚不明確,懷疑是jdk的bug(使用最新的jdk1.6.0.23也沒用),不知道大家有什么想法嗎?歡迎大家討論~

    /Files/cyj86/dll工程.rar
    /Files/cyj86/test1.rar
    /Files/cyj86/test2.rar
    /Files/cyj86/vcredist_x86.rar
    /Files/cyj86/opt.png

    posted @ 2011-06-13 11:45 薛定諤的貓 閱讀(1794) | 評論 (4)編輯 收藏

    主站蜘蛛池模板: 亚洲最大AV网站在线观看| 免费久久精品国产片香蕉| 亚洲大尺度无码专区尤物| www成人免费观看网站| 国产91在线免费| 国产精品亚洲综合网站| 成人永久免费高清| 国产亚洲福利精品一区二区| 免费人成视频x8x8入口| 农村寡妇一级毛片免费看视频| 免费在线观看理论片| 老司机福利在线免费观看| 亚洲国产高清在线一区二区三区| 极品美女一级毛片免费| 亚洲中文字幕无码一久久区| 99久久免费国产精精品| 亚洲国产精品久久久久婷婷软件 | 亚洲丰满熟女一区二区v| 亚洲成人免费网址| 亚洲色偷偷综合亚洲AV伊人蜜桃| 日韩特黄特色大片免费视频| 精品在线视频免费| 亚洲人成网亚洲欧洲无码久久| 无码日韩精品一区二区免费暖暖| 亚洲人配人种jizz| 免费国产a国产片高清网站| 久久久精品视频免费观看 | 人妻免费一区二区三区最新| 久久精品国产亚洲AV无码娇色 | 久视频精品免费观看99| 亚洲日韩一中文字暮| 亚洲人成网站色在线入口| 久久久国产精品福利免费| 亚洲一卡2卡3卡4卡国产网站 | 亚洲福利电影一区二区?| 午夜视频在线观看免费完整版| 一级毛片免费全部播放| 91亚洲国产成人精品下载| 国产在线观看www鲁啊鲁免费| 国产一级a毛一级a看免费视频| 亚洲无线一二三四区|