Java 运行环境


Java程序运行在一个由操作系统、Java虚拟机、类库、配置文件组成的运行环境。


环境变量

操作系统通过环境变量传递配置信息给程序。环境变量由键值对(key/value)组成,key、value都是字符串。

下面是环境变量的例子:

import java.util.Map;

public class Env {
    public static void main(String[] args) {
        for (Map.Entry<String, String> e : System.getenv().entrySet())
            System.out.println(e.getKey() + " : " + e.getValue());
            // PATH : /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
            // SHELL : /bin/bash
            // ...
    }
}

环境变量在各操作系统下实现有些差异,存在不一致的情况。如果同样的值在系统属性中也存在,则使用系统属性中的数据。


系统属性

Java平台维护自己的配置信息,也就是系统属性。系统属性包含当前用户(user.name)、默认文件编码(file.encoding)、目录分隔符(file.separator)等。

下面是系统属性的例子:

public class SysProp {
    public static void main(String[] args) {
        System.getProperties().list(System.out);
        // java.vm.version=25.131-b11
        // file.encoding=UTF-8
        // ...
    }
}