Java 设置系统属性和运行参数
1. 名词解释1.1 系统参数系统级全局变量,该参数在程序中任何位置都可以访问到。优先级最高,覆盖程序中同名配置。系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格,则用引号括起来。其中,参数名可以是 Java 默认的,此类参数由 JVM 虚拟机自动识别并生效,例如,-Dfile.encoding=UTF-8用于指定文件编码格式;也可以是用户自
1. 名词解释
1.1 系统属性
系统级全局变量,该参数在程序中任何位置都可以访问到。优先级最高,覆盖程序中同名配置。
系统属性的标准格式为:-Dargname=argvalue
,多个参数之间用空格隔开,如果参数值中间有空格,则用引号括起来。
其中,参数名可以是 Java 默认的,此类参数由 JVM 虚拟机自动识别并生效,例如,-Dfile.encoding=UTF-8
用于指定文件编码格式;也可以是用户自定义的,例如,-Dmy=user
,程序中可以读取该参数值,执行相关逻辑。
虚拟机系统参数中设置的参数键值对,在程序中可以用 System.getProperty("propertyName")
获取对应参数值。(当然也可以在程序中System.setProperty(k,v)这只系统参数)
-X/-XX
为非标准系统参数形式,一般与 JVM 虚拟机设置有关,参数名和值都由 JVM 规范规定。例如:-Xms :初始堆大小
、-Xmx :最大堆大小
。
public class VMargs {
public static void main(String[] args) {
String result = System.getProperty("my");
System.out.println("my: " + result);
}
}
注意:System.getProperty(XXX) 用来获取系统属性的,System.getEnv(XXX)是用来获取系统环境变量的。
1.2 运行参数
main 方法执行时传入的参数值,如果参数有多个,用空格分开。
main 方法的一般格式为:public static void main(String[] args)
,其中,Stringp[] args
就是存储运行参数的变量,在程序中可以直接使用。
public class PROargs {
public static void main(String[] args) {
if (args.length > 0) {
for (int i = 0; i < args.length; i++) {
System.out.println("第" + i + "个参数为:" + args[i]);
}
}
}
}
2. 命令行中的参数设置
java 命令的基本格式为 java [-options] class [args...]
,其中:
-
[-options] 配置 Java 系统属性
-
[args…] 配置 Java 运行参数
示例:java -Dfile.encoding=UTF-8 -Dmy=user Test hi a b c d
。
3. Eclipse 中的参数设置
在窗口左侧 Project Explorer 中找到要运行的类,右键 -> Run As –> Run Configurations,在对话框中选择 Arguments 选项卡,键入相应参数。
更多推荐
所有评论(0)