首页 > 基础资料 博客日记

java启动命令与参数配置

2024-09-30 16:00:07基础资料围观114

文章java启动命令与参数配置分享给大家,欢迎收藏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在启动时的默认配置

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


文章来源:https://blog.csdn.net/weixin_42164754/article/details/139976108
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

上一篇:MQTT协议
下一篇:JAVA——JFrame窗体容器

相关文章

本站推荐

标签云