考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > Java语言程序设计 > 考试辅导 > 文章内容
  

全国计算机二级考试Java语言程序设计知识点(26)

中华IT学院   【 】  [ 2016年5月5日 ]

JVM 参数调优实例

  由于 Java 字节码是运行在 JVM 虚拟机上的,同样的字节码使用不同的 JVM 虚拟机参数运行,其性能表现可能各不一样。为了能使系统性能最优,就需要选择使用合适的 JVM 参数运行 Java 应用程序。

  设置最大堆内存

  JVM 内存结构分配对 Java 应用程序的性能有较大的影响。

  Java 应用程序可以使用的最大堆可以用-Xmx 参数指定。最大堆指的是新生代和老生代的大小之和的最大值,它是 Java 应用程序的堆上限。清单 9 所示代码是在堆上分配空间直到内存溢出。-Xmx 参数的大小不同,将直接决定程序能够走过几个循环,本例配置为-Xmx5M,设置最大堆上限为 5MB。

  清单 9 .Java 堆分配空间

import java.util.Vector;

public class maxHeapTest {

public static void main(String[] args){

Vector v = new Vector();

for(int i=0;i<=10;i++){

byte[] b = new byte[1024*1024];

v.add(b);

System.out.println(i+"M is allocated");

}

System.out.println("Max memory:"+Runtime.getRuntime().maxMemory());

}

}

  清单 10. 运行输出

0M is allocated

1M is allocated

2M is allocated

3M is allocated

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

at maxHeapTest.main(maxHeapTest.java:8)

  此时表明在完成 4MB 数据分配后系统空闲的堆内存大小已经不足 1MB 了。

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved