java启动命令与参数配置

1. java启动命令

运行一个java应用程序的语法分两种,分别为:

执行类:java [-options] class [args…]
执行jar文件:java [-options] -jar jarfile [args…]
其中 [-options] 配置 JVM参数,[args…] 配置 Java 运行参数

2. 运行时参数

其中args为运行时参数,即main方法中的参数数组args,可以通过修改启动配置进行设置,以idea为例,如图这里设置了3个参数,每个参数之间用空格分隔,如果参数自身带有空格,则需要用引号包裹。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. JVM参数

标准参数
标准参数,顾名思义,标准参数中包括功能以及输出的结果都是很稳定的,基本上不会随着JVM版本的变化而变化。
我们可以通过 -help 命令来检索出所有标准参数。
在这里插入图片描述
预定义的标准参数(非-D开头的选项)的个数是有限的,。但是我们还可以自定义设置系统属性,其标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格,则用引号括起来。

我们在设置VM参数时不能随意设置,要么使用-Dargname=argvalue这种形式,要么使用预定义的标准参数,如-javaagent:xxxx,以及-classpath xxxx

其中,参数名可以是 Java 默认的,此类参数由 JVM 虚拟机自动识别并生效,例如,-Dfile.encoding=UTF-8 用于指定文件编码格式;也可以是用户自定义的,例如,-Dmy=user,程序中可以读取该参数值,执行相关逻辑。

虚拟机系统参数中设置的参数键值对(只有-D定义的系统属性是键值对形式),在程序中可以用 System.getProperty(“propertyName”) 获取对应参数值。

/**
 * VM Args:-Dmy=user
 * 
 * @author moonspirit
 * @version 1.0
 */
public class VMargs {

    public static void main(String[] args) {
        String result = System.getProperty("my");
        System.out.println("my: " + result);
    }
}

输出结果:
在这里插入图片描述
关于System.getProperty(“propertyName”)可参考另一文章

参考文章:https://www.cnblogs.com/ysocean/p/11109018.html

非标准参数(-X以及-XX)
X参数
对应前面讲的标准化参数,这是非标准化参数。表示在将来的JVM版本中可能会发生改变,但是这类以 -X开始的参数变化的比较小。

我们可以通过 Java -X 命令来检索所有-X 参数。
在这里插入图片描述
XX参数
这是我们日常开发中接触到最多的参数类型。这也是非标准化参数,相对来说不稳定,随着JVM版本的变化可能会发生变化,主要用于JVM调优和debug。

注意:这种参数是我们后续介绍JVM调优讲解最多的参数。

该参数的书写形式又分为两大类:
  
①、Boolean类型

格式:-XX:[±] 表示启用或者禁用name属性。

例子:-XX:+UseG1GC(表示启用G1垃圾收集器)
  
②、Key-Value类型

格式:-XX:= 表示name的属性值为value。

例子:-XX:MaxGCPauseMillis=500(表示设置GC的最大停顿时间是500ms)

demo
这是一个java程序启动时的启动参数信息,在格式上进行了一下分割
在这里插入图片描述
运行配置如下图
在这里插入图片描述
有些vm参数是idea在启动时的默认配置

这里暂不介绍各参数用法,留待以后归纳

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值