Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1966928
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类:

2008-07-30 13:53:46

我们都知道Java程序之所以被广大程序员青睐,很大的一个原因是因为Java有GC(垃圾收集),不用程序员花很大的精力来解决内存释放和泄漏问题。而这些问题总是C/C++程序员需要花很大精力来认真地面对的。  
问题总是双面的,GC给我们带来了很大的快乐,释放了程序员很多的精力和时间,但是在某些时候也会给我们带来一些小小的麻烦。Java里的Object并非交给GC去释放就可高枕无忧了,下面从JDK1.4的Demo中Java2D的Memory Monitor说起。 

Memory Monitor单独运行,如果存在While复杂循环,GC释放内存有一定的时间,在这个时间中间,内存消耗的很厉害。

在while循环中加入强制gc,内存峰值得到了很好的控制维持水平。 

Runtime.getRuntime().freeMemory(); 

Runtime.getRuntime().gc(); 
由此可以考虑在,程序while等比较好内存的地方采用上述方法,降低内存峰值,提高内存效率。 

阅读(351) | 评论(0) | 转发(0) |
0

上一篇:Java编码问题

下一篇:serialVersionUID

给主人留下些什么吧!~~