为什么JVM参数开始“-D”?

科尔姆Bhandal:

为什么我们需要用前缀JVM参数-D如在命令行中运行的罐子是什么时候?例如

java -jar -DmyProp="Hello World" myProgram.jar

用于运行myProgram.jar该系统参数myProp那么,为什么领先-D为什么不能爪哇建筑师让我们简单地做:

java -jar -myProp="Hello World" myProgram.jar

我希望的不仅仅是一个答案:“因为这事情是这样的”。

奖金问题:为什么要信-D,而不是任何其他字母,它代表什么?


注意:这个问题问为什么有必要用“d”,或任何其他字母对于这个问题,摆在首位。它与特定的字母“d”比任何其他字母的选择不太关注,尽管这是问的奖金问题。

奖金的问题在这里有一个答案:在java中-D什么是d代表什么?

davidxxx:

为什么不能爪哇建筑师让我们简单地做:

java -jar -myProp="Hello World" myProgram.jar

它可以工作,但今天假设在接下来的Java版本-myProp的说法被引入作为一个JVM选项。
如何区分你-myProp-myPropJVM选项?没门。
因此,存在明显的理由使用-D定义系统属性。

至于其他的例子,而不是-myProp假设你计划依赖于-client系统特性。
它不会运行:

java -jar -client="davidxxx" myProgram.jar

你将有一个JVM错误,如:

无法识别的选项:-client = davidxxx

因为-client是没有预期值的JVM标准的选择。

但是如果你使用-D-client,现在是罚款,在这里-Dclient被定义为是从不同的系统性能-client标准JVM选项:

java -jar -D-client="davidxxx" myProgram.jar

或同时使用:

java -jar -client -D-client="davidxxx" myProgram.jar

百尺竿头更进一步,不是所有的JVM参数开始-D但他们大多有一个前缀(-D-X-XX),允许在某种方式来定义命名空间。

你有不同类别的JVM参数:

1.标准选项(-D但不是唯一的)。

这些是由JVM的所有实现支持最​​常用的选项。

您可以使用-D指定的系统属性,但大多没有任何前缀-verbose-showversion等了...

2.非标准选项(前缀-X

这些选项是特定的Java HotSpot虚拟机通用选项。
例如:-Xmssize-Xmxsize

3.高级运行选项(前缀-XX

这些选项控制Java HotSpot虚拟机运行时的行为。

4.先进的JIT编译器选项(前缀-XX

这些选项控制只是在实时(JIT)编译由Java HotSpot虚拟机进行动态。

5.高级服务性选项(前缀-XX

这些选项提供了收集系统信息,并进行大量的调试的能力。

6.先进的垃圾回收选项(前缀-XX

这些选项控制垃圾回收(GC)是由Java HotSpot虚拟机执行。


本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么超出地图范围时3D游戏玩家角色会开始变形?

在'/opt' 中安装有Passenger 支持的nginx 后,为什么不从'init.d' 开始?

为什么不能 emplace 接受开始和结束作为参数

具有1个参数的C ++ 2D数组索引(为什么这样工作?)

为什么.fit()需要2D数组作为第一个参数?

为什么PowerShell的Get-ChildItem命令将参数d解析为深度?

为什么JVM内存参数通常为256的倍数?

为什么%d代表整数?

为什么\ d *与位置匹配?

如何读取init.d脚本开始参数

什么是JVM -server参数?

为什么docker-entrypoint-initdb.d中的脚本在数据库开始侦听导致pg_restore失败的连接之前运行?

为什么在尝试绘制参数图时Maxima在plot2d上给我一个错误?

d3行函数仅在行函数中包含哑元参数时有效。为什么?

Unity3D - 为什么我们必须在大括号之外添加一些参数?

为什么在运行带有d ^参数的程序时Windows命令提示符为何显示“更多?”?

为什么 torch.nn.Conv2d 在 '(n, n)' 和 'n' 参数之间有不同的结果?

为什么-d对空变量返回true

为什么在此代码中d被@替换

为什么printf(“%d”,〜0)输出-1?

为什么`9.3 == 9.3.to_d` 是假的?

为什么输出中缺少字母“ D”?

为什么叫d'tor,尽管不叫?

为什么 d_reclen 变量

为什么我的程序在使用时两次输出一个参数([-d?]和[-d | --data])?(我正在使用popt库进行选项解析)

在JDBC中,为什么预处理语句的参数索引从1开始而不是0?

为什么x86汇编中的第一个参数从偏移8开始?

为什么R在通话开始时不检查缺少的参数?

为什么JavaScript reduce方法的当前索引参数从1开始?