Java 过程:什么是环境?
Java Process: What is the Environment?
我正在阅读:
http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html
哪个链接到
http://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getenv--
其中指出 System.getEnv() returns:
Returns an unmodifiable string map view of the current system
environment. The environment is a system-dependent mapping from names
to values which is passed from parent to child processes.
我不确定我是否理解这句话。映射的名称-值是什么?是我的程序定义的变量和支持它所需的 java 运行时吗?为什么它们很重要?
根据您的操作系统(因此 系统相关),您可以通过多种方式设置这些环境变量。
在 Windows 您可以使用例如"System properties" window 中的 "Environment variables" 按钮添加、删除或修改环境变量。
告诉我们您的情况 OS,您可能会获得更多信息。
这些变量很重要,因为它们是对流程进行参数化的一种方式(或稍微不准确 "your programs")。
通常,当一个进程产生另一个子进程时,您可以选择让子进程继承这些变量(作为一种 "starting point")。
使用Map<String, String> env = System.getenv();
你得到一个环境变量的映射;不过,它们与您在程序中定义的变量无关。
我正在阅读:
http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html
哪个链接到
http://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getenv--
其中指出 System.getEnv() returns:
Returns an unmodifiable string map view of the current system environment. The environment is a system-dependent mapping from names to values which is passed from parent to child processes.
我不确定我是否理解这句话。映射的名称-值是什么?是我的程序定义的变量和支持它所需的 java 运行时吗?为什么它们很重要?
根据您的操作系统(因此 系统相关),您可以通过多种方式设置这些环境变量。
在 Windows 您可以使用例如"System properties" window 中的 "Environment variables" 按钮添加、删除或修改环境变量。
告诉我们您的情况 OS,您可能会获得更多信息。
这些变量很重要,因为它们是对流程进行参数化的一种方式(或稍微不准确 "your programs")。
通常,当一个进程产生另一个子进程时,您可以选择让子进程继承这些变量(作为一种 "starting point")。
使用Map<String, String> env = System.getenv();
你得到一个环境变量的映射;不过,它们与您在程序中定义的变量无关。