我自动化骡子堆栈。客户希望他的java二进制文件与
一起运行-DXX:MaxPermSize=4096M -XX:MaxPermSize=4096m
有人可以解释DXX
和XX
内存分配之间的区别吗?
答案 0 :(得分:3)
-D[...]
只是设置“系统属性”的标志。除非看起来在该系统属性中,否则它将完全无效。
例如:
System.out.println(System.getProperty("XX:MaxPermSize"));
...将在您的示例中打印出“4096M”,但通常会打印出null
,因为该属性不会被定义。
第二个标志是JVM本身可用于影响内存分配的标志 - 尽管任何-X
标志都是非标准的,如有更改,恕不另行通知。
基本上,听起来你的客户可能有点困惑,你应该问他们是否有任何好的,可靠的原因来指定系统属性以及JVM标志。
答案 1 :(得分:1)
-D是添加系统属性。
喜欢
-Denv=test/live
所以env将是测试或现场。