1. JVM虚拟机参数
-Xms20M
-Xmn20M
-Xmx20M
-XX:NewRatio=4
....等等,不做细讲
例如:java -Xmx20M MainTest
2. JVM自定义参数
JVM自定义参数通过java命令的可选项:
-D<name>=<value>
来传入JVM,传入的参数作为system的property。因此在程序中可以通过下面的语句获取参数值:
System.getProperty(<name>)
例如:
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.综合实例
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);
}
}
}
结果: