https://www.cnblogs.com/limeiyang/p/16565920.html

1. -d 参数说明

通过 java -h 查看可知:

注意:
-D= : set a system property 设置系统属性。
如果value是一个包含空格的字符串,则必须将该字符串括在双引号中。
需要设置的是JVM参数而不是program参数
使用此参数的参数优先级最高,会覆盖项目中配置的此项

例如: springboot 项目中的 yaml 配置,可以通过此参数进行覆盖:
-Dspring.datasource.password=123456
可以覆盖:

spring:
datasource:
password: 123456

2. 其他相关参数

3. idea 设置的位置


4. 系统属性和环境变量的区别

  • 系统属性是指 JVM 中属性变量;环境变量是操作系统层面的变量
// 在java.lang.System这个类中提供了两个方法
getenv() // 获取操作系统中的环境变量
getProperties() // 获取 JVM 中的 系统属性
  • 变量的操作

环境变量的操作有两种方法

  1. 通过windows界面设置 变量会一直存在
  2. DOS命令set设置(这些变量只是在当前DOS环境中存在一旦关闭则消失)
    比如在脚本中添加 set parm=KKKK 则在当前操作界面就可以使用这个变量
    在当前脚本执行的程序中可以通过getenv("parm")来获得其值
    (注意一旦脚本运行完毕 或 DOS窗口关闭则这些的环境变量则也会取消 )

例子:

// 脚本内容
@echo off
set we=k
java zk // zk.class的源码为
public class zk{
public static void main(String[] args){
String value = System.getenv("we");
System.out.print(value);
}
}

系统属性操作有两种方法

  1. 在程序中通过setProperty(key,name) getProperty(key)来设置
  2. 第二通过命令或脚本设置
    重点讲解这个因为在一些脚本语言中大家经常会无意见到这些设置
    却不理解是干什么用的,下面通过一个例子演示脚本中的使用
    Java 系统变量主要是用于给main方法传参数

用法如下:

// 命令格式
java -D= xx name:系统属性键 value:值 xx:java命令要运行的类名如果要设置多个参数
java -D= -D= ..xx name // 脚本内容
@echo off
java -Duu="HelloWorld" ParamTest // 注意:java -Duu=HelloWord ParamTest 去掉双引号也可以 但值不可包含空格否则
// 会把空格之后作为类名 如 Hello World 则会把World作为类名来处理 // ParamTest.class源码为:
public class ParamTest{
public static void main(String[] args){
String param = System.getProperty("uu");
Systeem.out.print(param);
}
}
//当在脚本或命令行执行命令时 结果为“HelloWorld”

5. 参考

https://www.jianshu.com/p/eda395fe12d1
系统属性和环境变量的区别

[转帖]java -d 参数(系统属性) 和 环境变量的更多相关文章

  1. java中获取系统属性以及环境变量

    java中获取系统属性以及环境变量 System.getEnv()和System.getProperties()的差别 从概念上讲,系统属性 和环境变量 都是名称与值之间的映射.两种机制都能用来将用户 ...

  2. Java获取系统属性及环境变量

    当程序中需要使用与操作系统相关的变量(例如:文件分隔符.换行符)时,Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回 ...

  3. Spring中如何向 Bean注入系统属性或环境变量

    [转自] http://unmi.cc/spring-injection-system-properties-env/ 在 Spring 中为 javabean 注入属性文件中的属性值一般人都知道的, ...

  4. JVM系统属性 OS环境变量 JVM启动参数

    JVM系统属性(System Properties) 1.不支持通过文件查看和设置系统属性 2.可以通过JDK自带的工具jvisulavm.exe查看 3.可以在Java程序中使用API来查看系统属性 ...

  5. java之重装系统重新配置环境变量 jdk、eclipse、idea、Oracle、svn、gitlab等环境变量的安装

    前言:由于公司电脑进行统一版本升级,需要重装系统(只对C盘做升级),记录一下踩过的坑! 首先理一下思路,看那些东西需要做: 1.jdk及其环境变量 2.eclipse(文件夹版的需要运行项目进行测试) ...

  6. maven中可以直接引用的java系统属性和环境变量属性

    一.查看命令: 1 mvn help :system 二.引用 在pom文件中通过 ${变量名}来引用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

  7. Java起源、发展历程、环境变量、第一个Java程序等【1】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: 本文原创作者:pipi-changing 本文原创出处:http://www.cnblogs.com/pi ...

  8. Windows系统中path环境变量详解

    在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...

  9. Java学习之道:jdk环境变量配置方法

    JDK(Java Development Kit)是整个Java的核心,包含了Java执行环境.Java工具和Java基础类库.JDK作为JAVA开发的环境,无论是做JAVA开发还是做安卓开发,都必须 ...

  10. Java入门 手把手教你配置环境变量

    很多人觉得配置Java开发的环境变量很麻烦,很容易忘记,时常被它搞得晕头转向.如果出现这样的情况,那么原因只有一个,你不了解为毛需要配置环境变量,不配置环境变量就不能开发了吗? 答案是:NO!,那么下 ...

随机推荐

  1. PanGu-Coder:函数级的代码生成模型

    摘要:华为诺亚方舟实验室语音语义实验室联合华为云PaaS技术创新实验室基于PanGu-Alpha研制出了当前业界最新的模型PanGu-Coder 本文分享自华为云社区<PanGu-Coder 函 ...

  2. 标准物模型:设备无缝对接,IOT界的福音

    摘要:信息模型是解决IoT产业发展一系列挑战的关键,在信息模型的基础上可以推进行业标准/架构的统一,进而实现产业链生态的协同. 本文分享自华为云社区<[云驻共创]标准物模型,物联网的福音> ...

  3. 带你了解NB-IoT标准演进

    摘要:本文将带大家详细了解NB-IoT标准演进与产业发展. 本文分享自华为云社区<一文带你了解NB-IoT标准演进与产业发展>,作者:万万万. 我们都知道,物联网的场景和手机.电脑在使用的 ...

  4. 在距离distribution 证书过期一个月(或被手动revoke了)的时候会受到apple的邮件

    ​ ​编辑 虽然distribution过期(或者被手动revoke)了,如果你的开发者账号是company(公司)类型或个人类型的,只要你的每年99$的开发者membership没有过期,就不会对已 ...

  5. A/B实验背后的秘密:样本量计算

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 一.前言 背景: AB实验具有一定前瞻性,统计性,科学性的特性.用好了就实现了在大数据时代的充分利用数据分析问题, ...

  6. Mac 复制文件名目录路径

    Mac快速复制文件路径 在Mac电脑上,我们经常需要复制文件的路径,其实,Mac系统提供了快速复制文件路径的方法.下面我们来详细介绍. 方法一:使用菜单栏 首先,打开Finder,然后选择你要复制路径 ...

  7. 3.1 《数据库系统概论》SQL概述及数据定义(模式SCHEMA、表TABLE、索引INDEX)

    前言 本篇文章学习书籍:<数据库系统概论>第5版 王珊 萨师煊编著 视频资源来自:数据库系统概论完整版(基础篇+高级篇+新技术篇) 由于 BitHachi 学长已经系统的整理过本书了,我在 ...

  8. 分布式搜索引擎 Elasticsearch 的架构分析

    一.写在前面 ES(Elasticsearch下文统一称为ES)越来越多的企业在业务场景是使用ES存储自己的非结构化数据,例如电商业务实现商品站内搜索,数据指标分析,日志分析等,ES作为传统关系型数据 ...

  9. 深度学习(六)——神经网络的基本骨架:nn.Module的使用

    一.torch.nn简介 官网地址: torch.nn - PyTorch 2.0 documentation 1. torch.nn中的函数简介 Containers:神经网络的骨架 Convolu ...

  10. 【驱动】SPI驱动分析(一)-SPI协议简介

    1. 什么是SPI SPI全拼Serial Peripheral interface(串行外围设备接口),是由Motorola(摩托罗拉)在MC68HCXX系列处理器上定义的,主要应用于EEPROM( ...