java调试/运行参数说明

一、参数设置

    参数设置有两种情况,第一种为命令行执行,直接带参数即可,如java -verbose:class xxx;第二种为开发工具中使用,以MyEclipse为例,Windows->Preference->Java->Install Jres->右侧的窗口选中jre,点击edit,此时弹窗中有Default VM Arguments的设置,如下图:

java调试/运行参数说明_第1张图片

设置上,运行程序即可看到效果。

二、参数说明

1、verbose参数

verbose参数有三个选项,分别为class,gc,jni。使用方式为-verbose:class,-verbose:gc,-verbose:jni。具体说明如下:

(1).verbose:class:使用该参数可以在运行中打印出JVM加载类的列表信息:

java调试/运行参数说明_第2张图片

(2).verbose:gc:该参数可用于打印GC的详细信息,如下:

//测试代码
public class Test {
	public static void main(String[] args) {
		System.out.println("test verbose");
		System.gc();
	}
}
打印结果:
test verbose
[Full GC 235K->141K(5056K), 0.0051797 secs]
235K和141K分别代表收集前后所有存活对象所使用的内存总量,说明有235-141=94K被回收;5056K表示堆内存的总量。后面的时间代表的是本次的收集时间。

(3).verbose:jni :添加verbose:jni参数会在运行中打印出调用的native method的列表,如下:

[Dynamic-linking native method java.lang.Object.registerNatives ... JNI]
[Registering JNI native method java.lang.Object.hashCode]
[Registering JNI native method java.lang.Object.wait]
[Registering JNI native method java.lang.Object.notify]
[Registering JNI native method java.lang.Object.notifyAll]
[Registering JNI native method java.lang.Object.clone]
[Dynamic-linking native method java.lang.System.registerNatives ... JNI]
[Registering JNI native method java.lang.System.currentTimeMillis]
[Registering JNI native method java.lang.System.nanoTime]
[Registering JNI native method java.lang.System.arraycopy]

2、堆内存设置:-Xms代表堆内存的最小值,可以理解为初始值;-Xmx代表最大的堆内存;-Xmn可以指定年轻代的大小。

你可能感兴趣的:(java调试/运行参数说明)