DXX和XX之间的Java内存分配差异

时间:2014-06-11 12:12:48

标签: java memory mule

我自动化骡子堆栈。客户希望他的java二进制文件与

一起运行
-DXX:MaxPermSize=4096M -XX:MaxPermSize=4096m

有人可以解释DXXXX内存分配之间的区别吗?

2 个答案:

答案 0 :(得分:3)

-D[...]只是设置“系统属性”的标志。除非看起来在该系统属性中,否则它将完全无效。

例如:

System.out.println(System.getProperty("XX:MaxPermSize"));

...将在您的示例中打印出“4096M”,但通常会打印出null,因为该属性不会被定义。

第二个标志是JVM本身可用于影响内存分配的标志 - 尽管任何-X标志都是非标准的,如有更改,恕不另行通知。

基本上,听起来你的客户可能有点困惑,你应该问他们是否有任何好的,可靠的原因来指定系统属性以及JVM标志。

答案 1 :(得分:1)

-D是添加系统属性。

喜欢

-Denv=test/live

所以env将是测试或现场。