实践-全程

预测未来的最好办法,就是把它创造出来 --- 阿伦.凯
数据加载中……

2007年10月21日

再次寻求从事过Java桌面的应用的朋友解惑~

       今天早上的Blog大家都看到了,大家的留言我也一一拜读过了~感谢 zhrb ,千里冰封 javazhai ,BeanSoft ,plankton13 ,mingj 等的回复。
        下午反省了一下自己的代码,得出一下结论和疑问,有时间,请大家再讨论一下。
        1.反省代码,整理所有用过的对象,特别上查询完数据库返回的上万条记录的结果集,一一将他们制空,然后再System.gc()看看效果;
        2.因为是通用数据查询平台,那么结果集的展示形式是可以由实施人员自由定义的,比方说字体,颜色,图片等等,虽然我没有使用JFace对资源封装的统一标准组件,但是绝对是在使用完一一做了销毁处理,我的疑问是,我对资源做了销毁处理,是不是这部分资源在虚拟机中的占用空间依旧存在,也就是并没有真正的销毁他们;
                这里谈谈自己的实践经验,如果真的是资源的问题,首先出问题的还轮不到Javaw,Eclipse马上就会出来叫嚣,告诉你没有足够的资源的可以使用,不能创建GC,字体,颜色或者是图片等等,如果还是不解决,客户端的GUI马上就会变形,变的面目全非~
        3.我现在碰到的问题还不是内存不足,或者内存溢出,而是Javaw的内存占有再不断的递增,并不是某一个恒定值区间;


        希望大家再次赐教!

posted @ 2007-10-21 20:34 阿南 阅读(880) | 评论 (12)编辑 收藏
寻求从事过Java桌面的应用的朋友解惑~

       最近在公司从事一个通用的数据查询平台的开发,是一个基于Eclipse-RCP的应用,项目现在基本进入改进和修正BUG阶段。
    但是现在碰到了令人头疼的问题,程序在测试人员的机器上跑上半个多小时,整个应用程序的内存会占到300m以上,如果是做频繁的大数据查询,内存涨的更快。
    我加了每分钟调用一次System.gc()的线程,唯一的改观是在Eclipse下面的内存进度显示上,会出现小范围的减少,但是从任务管理器中检视应用程序的内存,还是居高不下~
       Java本身吃内存,我能理解,Eclipse-RCP也会加载大量的东西,我也能理解,大数据量的加载更可怕,我更能理解,但是无论怎么调用System.gc()都没有什么反应,我就不能理解了~
      希望做过这方面的研究或者应用的朋友帮忙解答,或者谈谈经验~也可以帮助我做一些改善~

posted @ 2007-10-21 11:24 阿南 阅读(781) | 评论 (9)编辑 收藏