System.getenv()和System.getProperty() 的区别

最近遇到一个需求,服务器实例需要获取当前的环境变量。经过查资料,发现环境变量可以在两个地方设置。

一、在系统层面设置环境变量

在系统层面设置环境变量,之前我们应该都操作过,以windows系统为例

System.getenv()和System.getProperty() 的区别_第1张图片

System.getenv()可以获取的在这里设置的变量。

二、在java虚拟机层面设置环境变量

个人理解,System.getProperty()可以获取在JVM 层面的变量,有些变量在JVM启动后,就内置了,如:

参数值 参数含义
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,getenv,getProperty,System,VM,arguments)