Java环境中系统属性和运行参数

举报
多米诺的古牌 发表于 2022/09/26 22:40:00 2022/09/26
【摘要】 我们在开发Java项目的时候或多或少都会跟Java环境打交道,如何按照需求更改我们的环境配置达到我们所需要的环境呢?本文中将对这些进行简单的探究。

我们在开发Java项目的时候或多或少都会跟Java环境打交道,如何按照需求更改我们的环境配置达到我们所需要的环境呢?本文中将对这些进行简单的探究。

1.系统属性的简介

系统属性就是系统级全局变量,该参数在程序中任何位置都可以访问到。优先级是最高的,该参数的使用会覆盖程序中的同名配置(相当霸道)。设置系统属性的标准格式为:-Dargname=argvalue,如果有多个参数的话它们之间需要使用空格来进行分隔,如果参数值中间存在空格,则需要使用引号来将其括起来。 其中的参数名可以是 Java 默认的这样这些参数就可以由 JVM 虚拟机来自动识别并且生效了。

举个栗子: -Dfile.encoding=UTF-8 是用于指定文件编码格式,也可以是自定义的参数,另外个栗子:-Dtest=123,设置完后程序中是可以读取到该参数值的并且执行相关的逻辑操作。

那么虚拟机是可以识别了,那么我们如何来进行获取呢,我们获取虚拟机中系统参数设置的参数键值对,可以在程序中使用System.getProperty("propertyName") 方法来进行获取对应的参数值,并且可以在程序中通过System.setProperty(k,v)方法来设置系统参数,其中参数-X/-XX 为非标准系统参数形式,一般与 JVM 虚拟机设置有关,参数名和值都由JVM 规范来规定。比如:-Xms :初始堆大小、-Xmx :最大堆大小。

常用的方法中System.getProperty(XXX)是用来获取系统属性的,而System.getEnv(XXX)方法则是用来获取系统环境变量的。

比如可以再IDEA中的Configuration中VM options设置-Dtest.aaa=123,然后再在项目中使用System.getProperty("test.aaa")就可以获取到123这个值了。

2 运行参数

main方法中执行时传入的参数值,如果参数有多个是通过空格来进行分隔的。

main 方法的一般格式是:public static void main(String[] args),其中,Stringp[] args 就是存储运行参数的变量,在程序中可以直接使用。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。