/**
* 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的区别的更多相关文章

  1. System.getProperty System.getenv 区别 log4j取法

    log4j 可以${}取系统变量相关属性  getProperty Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回 ...

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

    1.System.getenv() 方法是获取指定的环境变量的值.它有两种方法,一种是接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null.另外一种是不接受参数,那么返回的是 ...

  3. java中System.getenv和System.getProperties的区别

    System.getenv获取的是系统的环境变量(就是用户在操作系统中设置的环境变量),windows和linux下环境变量的设置就不说了哦. System.getProperties获取的是系统的相 ...

  4. System.Properties和System.getenv区别

    网上很多使用的是getProperties.说获得系统变量,但是其实不正确.getProperties中所谓的"system properties"其实是指"java s ...

  5. JAVA System.getProperty() 与 System.getenv() 差异及示例

    System.getenv() 方法是获取指定的环境变量的值. System.getenv() 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null. System.getP ...

  6. 系统变量之System.getenv()和System.getProperty()

    Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与ja ...

  7. JAVA 系统变量之System.getenv()和System.getProperty() 用法

    Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与ja ...

  8. Java System.getProperty vs System.getenv

    转自:https://www.baeldung.com/java-system-get-property-vs-system-getenv 1. Introduction The package ja ...

  9. System.getenv()和System.getProperty()

    System.getenv() 方法是获取指定的环境变量的值. System.getenv(String str) 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null. S ...

随机推荐

  1. Java的Future接口

    Java的Future接口 Java 中的 Future 接口和其实现类 FutureTask,代表了异步计算的结果. 1. Future接口简介 Future 是异步计算结果的容器接口,它提供了下面 ...

  2. 五分钟,手撸一个Spring容器!

    大家好,我是老三,Spring是我们最常用的开源框架,经过多年发展,Spring已经发展成枝繁叶茂的大树,让我们难以窥其全貌. 这节,我们回归Spring的本质,五分钟手撸一个Spring容器,揭开S ...

  3. IPv6 OSPFv3路由协议测试——信而泰网络测试仪实操

    关键词 IPv6; OSPFv3; OSPFv2. 前言:在网络部署中,动态路由协议是重要的组成部分.良好的路由协议,是保证网络可靠.稳定运行的基础.为了适应IPv6协议栈的变化,OSPFv3协议在保 ...

  4. 免费报表软件下载推荐------值得办公小白下载的Web报表工具

    Smartbi免费报表软件更是国内报表产品的新高峰,它直接使用Excel作为报表设计器,易用性.功能性.运行速度都得到了大幅提升,遥遥领先竞品.该产品以"真Excel"为最大特色, ...

  5. AcWing 289. 环路运输

    传送门 思路: 一个环路上的问题,考虑拆环为链然后复制一倍接在后面.那么对于Ai与Aj,不妨设j<i,如果i-j>N/2则两者距离在新的链上就是i-j,而如果i-j<=N/2那么两者 ...

  6. Spark on Yarn出现hadoop.compression.lzo.LzoCodec not found问题发现及解决

    问题描述: spark.SparkContext: Created broadcast 0 from textFile at WordCount.scala:37 Exception in threa ...

  7. 听说:分布式ID不能全局递增?

    大家好,我是[架构摆渡人],一只十年的程序猿.这是实践经验系列的第十一篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友. 前面有篇文章我们讲到用时间来代替自增I ...

  8. Docker-可视化管理工具总结-推荐使用Portainer

    对于初学docker的小白,一款好的可视化工具有助于快速掌握docker基本形态和概念,下面针对docker可视化工具做些总结 ui-for-docker UI For Docker是一个使用Dock ...

  9. One-Hot编码(转)

    机器学习:数据预处理之独热编码(One-Hot) 前言 ---------------------------------------- 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女 ...

  10. JAVA——转义字符

    目录 1.Java转义字符 2.Java中的注释 2.1Java 中的注释类型 2.2文档注释 3.Java代码规范 4.Java开发注意事项和细节说明 1.Java转义字符 在控制台,输入 tab ...