System.getenv和getProperty的区别
/**
* System.getenv()是获取---环境变量(environment variables),
* 系统层面的,好比我linux系统里的.bash_profile文件里面的变量
* 返回一个只读的 Map,不能进行添加或者修改
*
*
* System.getProperty()是获取---读取系统属性(system properties)
* 系统属性包括当前用户、当前 Java 运行时版本 以及 文件路径分隔符诸如此类的信息
* 返回的一定是一个字符串
* System.getProperty("name") 获取系统属性名字为name对应的值
* 也可以通过System.setProperty("name","zhiqiang")去运行时更改
*
* 参数可以通过-D注入
*
* 区别:
*我们可以在运行时变更 系统属性(Properties),但是 环境变量(Environment Variables)仅是操作系统环境变量的一个不可变拷贝。
* 仅 Java 平台包含这个 系统属性 特性,而 环境变量 则是操作系统层面提供,全局可用的 - 运行在同一个机器上的所有应用都可以访问。
* 系统属性 在打包应用时就必须存在1,而 环境变量 则任意时刻都可以在操作系统中创建。
*
例子:
public class SystemTest {
public static void main(String[] args) {
Map<String,String> hashMap = System.getenv();
Set<String> set = hashMap.keySet();
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next()+"-->"+hashMap.get(iterator.next()));
}
// System.out.println(System.getenv().toString());
System.out.println(System.getProperty("name"));//启动参数加入-Dname=quanzhiqiang
}
/**
* PATH-->/bin/zsh
* JAVA_HOME-->https://mirrors.ustc.edu.cn/homebrew-bottles
* OLDPWD-->186a9
* USER-->unix2003
* LaunchInstanceID-->/var/folders/cd/k46tpp310gl43w8_1_p42wkw0000gn/T/
* MVN_HOME-->/private/tmp/com.apple.launchd.N9TMljHQGe/Listeners
* XPC_FLAGS-->2.7
* __CF_USER_TEXT_ENCODING-->quan
* LC_CTYPE-->/Users/quan/sotfware/pushgateway-1.2.0.darwin-amd64/pushgateway
* JAVA_MAIN_CLASS_92876-->/Users/quan/Desktop/ALLLL/quan-springframework
* XPC_SERVICE_NAME-->/usr/local/mysql-5.7.25-macos10.14-x86_64/bin
* HOME-->/Users/quan/sotfware/mongodb/bin
* quanzhiqiang
*/
}
System.getenv和getProperty的区别的更多相关文章
- System.getProperty System.getenv 区别 log4j取法
log4j 可以${}取系统变量相关属性 getProperty Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回 ...
- System.getenv()和System.getProperty() 的区别
1.System.getenv() 方法是获取指定的环境变量的值.它有两种方法,一种是接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null.另外一种是不接受参数,那么返回的是 ...
- java中System.getenv和System.getProperties的区别
System.getenv获取的是系统的环境变量(就是用户在操作系统中设置的环境变量),windows和linux下环境变量的设置就不说了哦. System.getProperties获取的是系统的相 ...
- System.Properties和System.getenv区别
网上很多使用的是getProperties.说获得系统变量,但是其实不正确.getProperties中所谓的"system properties"其实是指"java s ...
- JAVA System.getProperty() 与 System.getenv() 差异及示例
System.getenv() 方法是获取指定的环境变量的值. System.getenv() 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null. System.getP ...
- 系统变量之System.getenv()和System.getProperty()
Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与ja ...
- JAVA 系统变量之System.getenv()和System.getProperty() 用法
Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与ja ...
- Java System.getProperty vs System.getenv
转自:https://www.baeldung.com/java-system-get-property-vs-system-getenv 1. Introduction The package ja ...
- System.getenv()和System.getProperty()
System.getenv() 方法是获取指定的环境变量的值. System.getenv(String str) 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null. S ...
随机推荐
- git使用小技巧-忽略提交文件设置
前言 我们可以把自己的代码放到github上,但是我们有的文件或者文件夹不想提交到github上,这时候用到一个忽略文件 操作方法 * 在项目根目录创建一个 .gitignore文件 * 打开.git ...
- [VIP] openstack环境配置VIP
描述 当你在openstack平台创建一个network,在这个network上创建两台虚拟机,当这两台虚拟机还需要VIP时,你从这个network分配一个地址做为VIP,配置到虚拟机上,你会发现这个 ...
- 字符串压缩(一)之ZSTD
前言 最近项目上有大量的字符串数据需要存储到内存,并且需要储存至一定时间,于是自然而然的想到了使用字符串压缩算法对"源串"进行压缩存储.由此触发了对一些优秀压缩算法的调研. 字符串 ...
- xlrd》操作excel 出现的问题:File "D:\python37\lib\site-packages\xlrd\formula.py", line 1150, in evaluate_name_formula assert len(tgtobj.stack) == 1
xlrd>操作excel 出现的问题 报错如下: D:\python37\python.exe D:/testWang/waimai/tools/get_excelData.py*** for ...
- IDEA 连接MySQL并使用
IDEA 连接MySQL方式 MySQL使用命令行的形式实在是有点难受,多行书写的时候要是写错了就比较难过了,因此还是需要一个图形化的操作界面.有很多可选择方式,由于之前就下载了IDEA,其中也继承了 ...
- Qt:Qt Creator分屏显示代码
之前用VS.PyCharm.IntelliJ IDEA时,如果想分屏看代码,直接把某个Code文件拖到IDE之外就可以了. 而Qt Creator却不能这样做,不过这不代表Qt就不能分屏了:可以点击右 ...
- 携程applo配置
1.官网文档 https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C% ...
- k8s全方位监控-prometheus部署
1.k8s 监控资源对象 2. prometheus简单介绍. https://github.com/prometheus •多维数据模型:由度量名称和键值对标识的时间序列数据•PromSQL:一种灵 ...
- 三、Java入门
Java入门 Java的特性和优势 特性 简单 面对对象 可移植性 优势 性能高 分布式(跨平台:Write Once .Run Anywhere) 动态性(反射) 多线程 ...
- appium1-macOS10.12下如何丝滑的使用appium?
1.下载或者更新Homebrew:homebrew官网 macOS 不可或缺的套件管理器 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githu ...