有人说在java虚拟机中老一代比年轻一代占用更多的空间,对吗?我在网上没有找到任何关于这个话题的文章。
任何帮助都非常感谢!
JVM中代大小之间的比率是不同因素之间的权衡。
参见java
启动器工具的"非标准选项":
厦门大小
为年轻代(托儿所)设置堆的初始和最大大小(以字节为单位)。…
堆的年轻生成区域用于新对象。与其他区域相比,该区域执行GC的频率更高。如果年轻代的大小太小,那么将执行许多次要垃圾收集。如果大小太大,则只执行完整的垃圾收集,这可能需要很长时间才能完成。Oracle建议您将年轻代的大小保持在总堆大小的一半到四分之一之间。
所以比率不是固定的,而是可调的。它甚至不必是一个常数,因为您可以使用-XX:NewSize
为年轻代设置最小和最大大小。-XX:MaxNewSize
。但建议确实是有一个年轻的一代比老一代小,我希望默认值遵循它。