JVM中的系统属性system . getproperties()和环境变量system .getenv()之间有什么区别?
System properties are set on the Java command line using the -Dpropertyname=value syntax. They can also be added at runtime using System.setProperty(String key, String value) or via the various System.getProperties().load() methods. To get a specific system property you can use System.getProperty(String key) or System.getProperty(String key, String def). Environment variables are set in the OS, e.g. in Linux export HOME=/Users/myusername or on Windows SET WINDIR=C:\Windows etc, and, unlike properties, may not be set at runtime. To get a specific environment variable you can use System.getenv(String name).
我认为两者之间的区别归结为获取途径。环境变量可以被任何进程访问,而Java系统属性只能被添加它们的进程访问。
同样,正如波西米亚所说,env变量是在操作系统中设置的(然而,它们“可以”通过Java设置),系统属性是作为命令行选项传递或通过setProperty()设置的。
推荐文章
- 如何格式化Joda-Time DateTime仅为mm/dd/yyyy?
- 如何在POM.xml中引用环境变量?
- 如何在android中复制一个文件?
- 将整数转换为字符串,以逗号表示千
- 接口方法的最终参数-有什么意义?
- Java中的@UniqueConstraint注释
- 如何在清洁模式下运行eclipse ?如果我们这样做会发生什么?
- 获取java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory异常
- PowerShell:仅为单个命令设置环境变量
- Java中的正则表达式命名组
- c#和Java的主要区别是什么?
- 什么是NullPointerException,我如何修复它?
- 在Java中使用“final”修饰符
- 无法在Flutter上找到捆绑的Java版本
- 如何在Kotlin解析JSON ?