我有一个java程序,它在无限for循环中创建了20个不同的字符串对象
for(int i = 0 ; i >=0 ; i++){
String s = new String("Test");
String s1 = new String("Test");
/*creating more string objects here */
System.out.println(s);
}
并使用java -Xms1m -Xmx1m HelloWorld 运行此程序并打开VisualVM以监视堆大小。我不知道为什么它的尺寸和最大值都显示为2,097,152 B. 不应该是1,000,000?而且我也想知道为什么使用不超过700,000 B。 总是在300000到700000之间
请查看附件,不知道为什么CPU下面有一条消息"此JVM不支持"?
答案 0 :(得分:1)
您可以使用几个JVM标志:
您总是可以从现有的算法集中设置垃圾收集算法:
你可以在这里检查一些标志:http://files.zeroturnaround.com/pdf/zt_JVM-options-cheat-sheet.pdf