20240701每日后端------------java启动JVM参数配置说明Parameters -D, -X, -XX

主题

JVM有很多参数,当我们通过命令行启动Java程序时(例如, java -jar app.jar)

我们经常指定各种参数选项。很多人对为什么有时我们使用 -D ,有时我们使用 -X ,偶尔我们使用 -XX 感到困惑。

名词解释

JVM 实际上支持三种类型的选项:standard options 标准选项、non-standard options非标准选项(也称为额外选项)和 Advanced Options 高级选项。
之所以有这么多选择,是因为 JVM 只是一个具有不同实现的规范,例如 HotSpot、OpenJ9、GraalVM、Azul Zing 等。
不同 JVM 实现支持的选项可能有所不同,但所有 JVM 实现都支持某些选项。这些是标准选项。

标准选项 standard options

所有 JVM 实现都支持标准选项。
打开cmd命令行,输入java即可看到:
在这里插入图片描述
上述命令的输出可能仍然有点不知所措,但您可以看到:

  • -cp 用于指定类路径。
  • -version 用于输出 Java 版本信息。
  • -D 允许设置系统属性。
  • -X 可以输出有关非标准(额外)选项的帮助信息。

  • 我们前面提到的两者都 -D -X 出现了。此外,Java 告诉我们这是一个 -D 标准的 JVM 选项。
    Java 允许我们以键值对的形式设置系统属性,其中 -D=
    例如: -Duser=Alice 设置一个简单的系统属性,其中键为 user ,值为 Alice 。随后,我们可以在程序中检索 的 user 值:
System.getProperty("user"); //Alice

此外,我们也可以通过代码覆盖这个属性的值:

System.setProperty("user", "Bob");

现在,我们应该了解 -D :
-D 的用法,是一个标准的 JVM 选项,它允许我们设置系统属性。

Non-Standard Options 非标准选项

与标准选项类似,我们可以直接使用 java 命令来获取 JVM 支持的所有非标准选项。
在这里插入图片描述
以 开头 -X 的选项是非标准选项。你们中的许多人可能会从输出中认出两个熟悉的选项: -Xms 和 -Xmx 。
这两个参数用于设置 JVM 的堆大小,前者设置初始堆大小和最小堆大小,后者设置最大堆大小。
例如, -Xms100m -Xmx1g 将初始堆大小设置为 100MB,并允许堆使用最多 1GB 的内存。
需要注意的是,输出中列出的非标准选项不一定受所有 JVM 的支持。

Advanced Options 高级选项

高级选项以 开头 -XX 。开发人员通常使用这些选项来调整 JVM 的行为、性能或调试输出。根据参数类型,高级选项可分为两类:布尔选项和带参数的选项。

布尔选项 Boolean Options

布尔选项是简单的开关,不需要参数。您可以使用 + (例如, -XX:+Option ) 启用功能,并使用 - (例如, -XX:-Option ) 禁用该功能。
例如,在 HotSpot JVM 中,可以使用 启用方法 -XX:+Inline 内联。但是,为了提高性能,HotSpot 默认启用方法内联,因此您可以使用 -XX:-Inline

Options with Parameters 带参数的选项

另一种类型的高级选项需要设置相应的参数值,通常采用以下
-XX:OptionName=OptionValue 格式。

  • -XX:ErrorFile=file.log 告诉 JVM 在发生不可恢复的错误时写入 file.log 错误信息。
  • -XX:TreadStackSize=256k 将线程堆栈大小设置为 256k 。
  • -XX:MaxHeapSize=1g 将最大堆大小限制为 1GB ,等效于 -Xmx1g 。

总结

以上就是对应java启动JVM参数配置了~
结束。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值