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 就是存储运行参数的变量,在程序中可以直接使用。
- 点赞
- 收藏
- 关注作者
评论(0)