JVM虚拟机参数、自定义参数与main方法参数

1. JVM虚拟机参数

-Xms20M
-Xmn20M
-Xmx20M
-XX:NewRatio=4
....等等,不做细讲
例如:java -Xmx20M MainTest

2. JVM自定义参数

JVM自定义参数通过java命令的可选项:
-D=
来传入JVM,传入的参数作为system的property。因此在程序中可以通过下面的语句获取参数值:
System.getProperty()

例如:
java -Dfile.encoding=UTF-8 MainTest
java -Djvm.index=1 MainTest

说明:
JVM自定义参数可用来在集群环境区分当前class运行在哪个JVM上,可以达到让某个class只在某个指定的JVM上运行,避免多个JVM同时运行,出现混乱。

3. main方法参数

例如:

java MainTest parm1 parm2 parm3 parm4

接在启动类之后,参数间用空格隔离,程序执行时用空格切割成字符串存入String[] args数组。

3.综合实例

JVM虚拟机参数、自定义参数与main方法参数_第1张图片

public class MainTest {
	public static void main(String[] args) {
        String jvmIndex = System.getProperty("jvm.index");
        System.out.println("jvmIndex=" + jvmIndex);
  
        System.out.println(args.length);
        for (String s : args) {
			System.out.println(s);
		}
	}
}

结果:
JVM虚拟机参数、自定义参数与main方法参数_第2张图片

你可能感兴趣的:(JVM虚拟机参数、自定义参数与main方法参数)