Eclipse Run Configurations

来源:互联网 发布:软件设计方案和要求 编辑:程序博客网 时间:2024/05/06 21:37


如上图所示(上图是通过Run Configurations打开的,实际也可以通过Debug Configurations打开Debug的配置界面)

Arguments下面有两个代码编辑区,Program arguments和VMarguments。这是干什么用的呢?让我们用一个例子来说明。

Program arguments中写:pro1pro2 pro3

VMarguments中写:-DsysProp1=sp1 -DsysProp2=sp2(注意加前面的-D

 

然后写一个java文件  test.java

代码如下:

运行结果:

实际上program arguments中的值作为args[]的参数传入的,它通过主函数中的args来取值

而VMArguments是设置的虚拟机的属性,要传给java虚拟机的。调用方法:System.getProperty("PropertyName")。它与下面这条语句有相同的功能:

java -DsysProp1=sp1 -DsysProp2=sp2 test.ArgsTest pro1 pro2pro3

System.getProperty("PropertyName"):根据参数返回一些系统信息。具体默认系统参数如下(当然我们可以再Run Configuration或者Debug Configuration中自定义getProperty中的key(即虚拟机参数key),通过    “-D” + PropertyName,譬如: -DprepertyName="hello world")

java.version

Java运行时环境版本

java.vendor

Java运行时环境供应商

java.vendor.url

Java供应商的 URL

java.home

Java安装目录

java.vm.specification.version

Java虚拟机规范版本

java.vm.specification.vendor

Java虚拟机规范供应商

java.vm.specification.name

Java虚拟机规范名称

java.vm.version

Java虚拟机实现版本

java.vm.vendor

Java虚拟机实现供应商

java.vm.name

Java虚拟机实现名称

java.specification.version

Java运行时环境规范版本

java.specification.vendor

Java运行时环境规范供应商

java.specification.name

Java运行时环境规范名称

java.class.version

Java类格式版本号

java.class.path

Java类路径

java.library.path

加载库时搜索的路径列表

java.io.tmpdir

默认的临时文件路径

java.compiler

要使用的 JIT 编译器的名称

java.ext.dirs

一个或多个扩展目录的路径

os.name

操作系统的名称

os.arch

操作系统的架构

os.version

操作系统的版本

file.separator

文件分隔符(在 UNIX 系统中是“/”)

path.separator

路径分隔符(在 UNIX 系统中是“:”)

line.separator

行分隔符(在 UNIX 系统中是“/n”)

user.name

用户的账户名称

user.home

用户的主目录

user.dir

用户的当前工作目录


具体实例如下:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. public class SystemProperty {    
  2.     public static void main(String args[]) {       
  3.     System.out.println("java_vendor:" + System.getProperty("java.vendor"));       
  4.     System.out.println("java_vendor_url:"       
  5.              + System.getProperty("java.vendor.url"));       
  6.     System.out.println("java_home:" + System.getProperty("java.home"));       
  7.     System.out.println("java_class_version:"       
  8.              + System.getProperty("java.class.version"));       
  9.     System.out.println("java_class_path:"       
  10.             + System.getProperty("java.class.path"));       
  11.     System.out.println("os_name:" + System.getProperty("os.name"));       
  12.     System.out.println("os_arch:" + System.getProperty("os.arch"));       
  13.     System.out.println("os_version:" + System.getProperty("os.version"));       
  14.     System.out.println("user_name:" + System.getProperty("user.name"));       
  15.     System.out.println("user_home:" + System.getProperty("user.home"));       
  16.     System.out.println("user_dir:" + System.getProperty("user.dir"));       
  17.     System.out.println("java_vm_specification_version:"       
  18.             + System.getProperty("java.vm.specification.version"));       
  19.     System.out.println("java_vm_specification_vendor:"       
  20.             + System.getProperty("java.vm.specification.vendor"));       
  21.     System.out.println("java_vm_specification_name:"       
  22.             + System.getProperty("java.vm.specification.name"));       
  23.     System.out.println("java_vm_version:"       
  24.             + System.getProperty("java.vm.version"));       
  25.     System.out.println("java_vm_vendor:"       
  26.             + System.getProperty("java.vm.vendor"));       
  27.     System.out       
  28.             .println("java_vm_name:" + System.getProperty("java.vm.name"));       
  29.     System.out.println("java_ext_dirs:"       
  30.             + System.getProperty("java.ext.dirs"));       
  31.     System.out.println("file_separator:"       
  32.             + System.getProperty("file.separator"));       
  33.     System.out.println("path_separator:"       
  34.             + System.getProperty("path.separator"));       
  35.     System.out.println("line_separator:"       
  36.             + System.getProperty("line.separator"));       
  37. }       


其实还有种简单方法输出所有系统参数:

System.getProperties().list(System.out);


还有一个细节今天调代码时发现的,关于Boolean.getBoolean(name)方法,直接贴源码吧,很清晰:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. public static boolean getBoolean(String name) {  
  2.         boolean result = false;  
  3.         try {  
  4.             result = toBoolean(System.getProperty(name));  
  5.         } catch (IllegalArgumentException e) {  
  6.         } catch (NullPointerException e) {  
  7.         }  
  8.         return result;  
  9.     }  
oracle官网的解释是:Returns true if and only if the system property named by the argument exists and is equal to the string "true".将字符串“true”转换为boolean的正确用法是:Boolean.parseBoolean(str)或者Boolean.valueOf(str).booleanValue();
0 0
原创粉丝点击