Experience IN JVM GC

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

GC,or Garbage Collection is an intresting things. It help developers to deal with useless Object. When We use C++, we need to think about the deconstruction method to ensure the memory not lost. But with Java, it seems the JVM will do all things for us. Does it mean we need not to think about memory problem?

Of cource, not. Although one of my teachers told us not to try to chanllenge GC, it is better than human do. These days i am join a project with two fellows. It is about a search engine component. When we search pages, we built a tree as a structure. At first, so careless we are. as a result, little waste for each page cause a large waste for all site, at last JVM throw a OutOfMemory Exception. Gradually, we make some change, then it is better, but still throw a OutOfMemory after a longer period. We need to think over everywhere to avoid the memory waste. we need to under stand how JVM works, and make garbage easy to be collected.

For more detail and deep explore, you can try to see some Real Time Java book. Here, I just share some experience with you.

1. you can use java -verbose:gc [CLASSNAME] to observe the GC status.

2. temp Object in one function is easier to be collected

3. Object with less reference is easier to be collected

4. don't new a object you will not use for now

5. iterative method save more memory than recursion.But recursion seems more clearly. Decided by you.

6. A complex structrue is difficult for collect

7. System.gc() and fianlize() is useless for speed the process of GC

8. use static to share same object or use reference to share same object

9. you can use java -Xmx?m [CLASSNAME] to give JVM ? M memory to run programe. for instance, java -Xmx4m ShuJIP.HelloWorld

10. when you needn' to use one object,make it to null.maybe it is helpful for GC to recogonize it.

in a word, we haven't method to destroy useless object,it will be done by JVM, but you need to think more about the method of process. You programe will be effective

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有