java程序运行十几天后占用的内存越来越大,一直都降不下去

unat 2004-10-24 03:03:08
看起来又不像是程序的问题
如果是程序的问题,就不会等到十几天之后
应该是很快就能看到内存在增大

请问写这种持续运行的 java 关于内存管理的经验
...全文
4093 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
unat 2004-10-26
  • 打赏
  • 举报
回复
有没有干净利落的方法解决这样的很难察觉的内存泄漏?

我写的是一个没有窗口的应用程序,一般运行在服务器端,主要用来写数据库
onelifeonelove 2004-10-25
  • 打赏
  • 举报
回复
原来如此啊///////////////
dawn023 2004-10-25
  • 打赏
  • 举报
回复
看你的应用程序是什么性质的?是企业级应用还是桌面端应用,是Web程序还是GUI程序等。每一种应用有不同的调节方式。当然其调节方式不外乎几种:
1、调节GC
2、调节内存
3、调节GUI
4、调节Applet
等等。
不过,在调节之前,首先解决一下程序中的内存泄漏问题。
moke33 2004-10-25
  • 打赏
  • 举报
回复
可能是轻微的内存泄漏,应该是程序的问题
也可能和os的内存管理机制有关
Mohooo 2004-10-25
  • 打赏
  • 举报
回复
我在windows上的开发经验是写两个程序,一个windows服务程序,他只是启动某个需要定时运行的程序而已,所以假如是那个java程序有些内存没有释放,那么等他执行完了以后,这个进程就完了,资源那么自然得以释放,要运行时,在让windows服务程序将其启动起来即可


这个看起来不错哦
oneonion 2004-10-25
  • 打赏
  • 举报
回复
中毒了
shuren 2004-10-25
  • 打赏
  • 举报
回复
释放的资源!应该就没事了!!
zhigangxie 2004-10-24
  • 打赏
  • 举报
回复
没有及时释放对象占用的资源, 一定存在写程序的不良习惯.

alaal 2004-10-24
  • 打赏
  • 举报
回复
尽量手动释放能释放的资源,不要过分依赖gc
unat 2004-10-24
  • 打赏
  • 举报
回复
没有调用gc,程序检查了很多遍,该close的,该设为null的都有设置
程序主要是操作数据库
unat 2004-10-24
  • 打赏
  • 举报
回复
详细地说一下:
这个程序的周期是24小时

大概运行了半个多月
内存的变化情况为

第一周 开始10m,然后经常是 30m, 最大值出现过40m
第二周 经常是 40m, 最大值到了70m了

这期间都有出现过回复到10m左右的情况
fishstudio 2004-10-24
  • 打赏
  • 举报
回复
难道是gc的问题?操作系统是什么?java里面没有使用栈式存储长期数据的结构。一旦用这么长时间肯定在堆中。那么你如果单独依靠gc,可能会增加系统负担。

总之你要是能描述一下就更好了。
hendy 2004-10-24
  • 打赏
  • 举报
回复
关住一下 resource pool , hashtable
hendy 2004-10-24
  • 打赏
  • 举报
回复
?
网络咖啡 2004-10-24
  • 打赏
  • 举报
回复
是不是在十几天的时候你的程序触发了一段特殊的代码???比如符合某种条件??

syilo 2004-10-24
  • 打赏
  • 举报
回复
是不是程序中有些用过
的进程该关闭的没关闭
shangqiao 2004-10-24
  • 打赏
  • 举报
回复
我在windows上的开发经验是写两个程序,一个windows服务程序,他只是启动某个需要定时运行的程序而已,所以假如是那个java程序有些内存没有释放,那么等他执行完了以后,这个进程就完了,资源那么自然得以释放,要运行时,在让windows服务程序将其启动起来即可
zouyiyy 2004-10-24
  • 打赏
  • 举报
回复
关注
软件编程规范培训实例与练习 软件编程规范培训实例与练习  问题分类 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和环境、其他函数、全局/局部变量或数据变量之间的数据/控制传输不匹配的问题,在系统中起重要作用,将导致模块间配合失效等严重问题; 维护类问题(C类)-指设计、编码中出现的对软件系统的维护方便程度造成影响的问题,在系统中不起关键作用,但对系统后期维护造成不便或导致维护费用上升; 可测试性问题(D类)-指设计、编码中因考虑不周而导致后期系统可测试性差的问题。  处罚办法 问题发生率: P=D/S D=DA+0.5DB+0.25DC 其中: P -问题发生率 D -1个季度内错误总数 DA -1个季度内A类错误总数 DB -1个季度内B类错误总数 DC -1个季度内C类错误总数 S -1个季度内收到问题报告单总数 1)当D≥3时,如果P≥3%,将进行警告处理,并予以公告; 2)当D≥5时,如果P≥5%,将进行罚款处理,并予以公告。 目 录 一、逻辑类代码问题 第5页 1、变量/指针在使用前就必须初始化 第5页 【案例1.1.1】 第5页 2、防止指针/数组操作越界 第5页 【案例1.2.1】 第5页 【案例1.2.2】 第6页 【案例1.2.3】 第7页 【案例1.2.4】 第8页 3、避免指针的非法引用 第9页 【案例1.3.1】 第9页 4、变量类型定义错误 第10页 【案例1.4.1】 第10页 5、正确使用逻辑与&&、屏蔽&操作符 第17页 【案例1.5.1】 第17页 6、注意数据类型的匹配 第18页 【案例1.6.1】 第18页 【案例1.6.2】 第18页 7、用于控制条件转移的表达式及取值范围是否书写正确 第20页 【案例1.7.1】 第20页 【案例1.7.2】 第21页 【案例1.7.3】 第22页 8、条件分支处理是否有遗漏 第24页 【案例1.8.1】 第24页 9、引用已释放的资源 第26页 【案例1.9.1】 第26页 10、分配资源是否已正确释放 第28页 【案例1.10.1】 第28页 【案例1.10.2】 第29页 【案例1.10.3】 第30页 【案例1.10.4】 第32页 【案例1.10.5】 第33页 【案例1.10.6】 第35页 【案例1.10.7】 第38页 11、防止资源的重复释放 第39页 【案例1.11.1】 第39页 12、公共资源的互斥性和竞用性 第40页 【案例1.12.1】 第40页 【案例1.12.2】 第40页 二、接口类代码问题 第43页 1、对函数参数进行有效性检查 第43页 【案例2.1.1】 第43页 【案例2.1.2】 第43页 【案例2.1.3】 第44页 【案例2.1.4】 第46页 【案例2.1.5】 第47页 【案例2.1.6】 第48页 2、注意多出口函数的处理 第49页 【案例2.2.1】 第49页 三、维护类代码问题 第51页 1、 统一枚举类型的使用 第51页 【案例3.1.1】 第51页 2、 注释量至少占代码总量的20% 第51页 【案例3.2.1】对XXX产品BAM某版本部分代码注释量的统计 第51页 四、产品兼容性问题 第52页 1、系统配置、命令方式 第52页 【案例4.1.1】 第52页 【案例4.1.2】 第53页 2、设备对接 第54页 【案例4.2.1】 第54页 3、其他 第55页 【案例4.3.1】 第55页 五、版本控制问题 第58页 1、新老代码中同一全局变量不一致 第58页 【案例5.1.1】 第58页 六、可测试性代码问题 第59页 1、调试信息/打印信息的正确性 第59页 【案例6.1.1】 第59页 一、逻辑类代码问题 1、变量/指针在使用前就必须初始化 【案例1.1.1】 C语言中最大的特色就是指针。指针的使用具有很强的技巧性和灵活性,但同时也带来了很大的危险性。在XXX的代码中有如下一端对指针的灵活使用: ... ... _UC *puc_card_config_tab; ... ... Get_Config_Table(

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧