Java优化编程:内存管理计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:18:53
来源 100Test.Com百考试题网


  众所周知,java的JVM有一套自己的垃圾回收机制。因此在许多情况下并不需要java程序开发人员操太多的心。然而也许也因为这样,往往会造成java程序员的过分依赖而致使开发出来的程序得不到很好的优化,或者说性能尚能提高。

  问题的关键在于,不论JVM的垃圾回收机制做得多好,计算机的硬件资源是有限的。内存更是一项紧张资源。因此虽然JVM为我们完成了大部分的垃圾回收。但适当地注意编码过程中的内存管理还是很必要的。这样能让JVM回收得更顺利更高效。最大限度地提高程序的效率。

  mark-1:避免在循环体内创建对象。

  ……

  Object obj = null;//方式一

  for(int i =0; i 91k(1984k),0.0027537 secs]

  ……

  可以看到总共有1984kb的内存被回收,耗时0.0027537秒。

  JVM内存相关的参数

  -XX:NewSize(Set the Newgeneralnation heap size)

  -XX:MaxNewSize(Set the Maximum Newgeneralnation heap size)

  -XX:SurvivorRatio(Set New heap size ratios)

  -Xms(Set minimum heap size)

  -Xmx(Set maximum heap size)

  -Xnoclassgc(取消垃圾回收)

  -Xss(设置栈内存的大小)

  例:java -XX:NewSize = 128m -XX:MaxNewSize = 128m - XX:SurvivorRatio = 8 -Xms 512m -Xmx 512m MyApplication

  mark-8:不同编译方法的类大小

  (1)默认编译方式:javac K.java

  长度=代码 源文件信息 代码行序号表

  (2)调试编译方式:javac -g K.java

  长度=代码 源文件信息 代码行序号表 本地变量表

  (3)代码编译方式:javax -g:none K.java

  长度=代码

  mark-9:经验之谈来源:

  1.尽早释放无用对象的引用(XX = null; )

  2.尽量少使用finalize函数。源:www.examda.com

  3.注意集合数据类型,如数组,树,图,链表等数据结构,这些数据结构对GC来说回收更复杂。

  4.避免在类的默认构造器中创建大量的,初始化大量的对象。

  5.避免强制系统做垃圾内存回收。

  6.避免显式申请数组空间,不得不显式申请时,尽量准确估计其合理值。

  编辑特别推荐:

  2009年9月全国计算机等级考试真题及答案

  2009年9月全国计算机等级考试成绩查询



相关文章


Tomcat下JSP、Servlet和JavaBean环境配置计算机等级考试
日期类加减及Java中日期类操作算法大全计算机等级考试
使用JavaScript将复杂表格导出为Excel计算机等级考试
JSP结合XML XSLT将输出转换HTML计算机等级考试
Java优化编程:内存管理计算机等级考试
计算机二级辅导:Java运行时多态性的实现计算机等级考试
计算机二级java辅导:收集的正则表达式计算机等级考试
利用Ant和XDoclet自动产生映射文件例子计算机等级考试
pdf生成的解决方案(H2p)之H2P技术细节计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛