Performance 为什么老一代比年轻一代占据更多的空间

Performance 为什么老一代比年轻一代占据更多的空间,performance,jvm,Performance,Jvm,有人说,在java虚拟机中,老一代比年轻一代占用更多的空间,对吗?我在网上没有找到任何关于这个话题的文章 非常感谢您的帮助 JVM中的代大小之间的比率是不同因素之间的权衡 见: -Xmnsize 设置年轻一代(托儿所)堆的初始大小和最大大小(字节) 堆的年轻一代区域用于新对象。GC在该区域执行的频率高于其他区域。如果年轻一代的大小太小,那么将执行大量较小的垃圾收集。如果大小太大,则只执行完全垃圾收集,这可能需要很长时间才能完成。Oracle建议将年轻一代的堆大小保持在总堆大小的一半到四分之一之间

有人说,在java虚拟机中,老一代比年轻一代占用更多的空间,对吗?我在网上没有找到任何关于这个话题的文章


非常感谢您的帮助

JVM中的代大小之间的比率是不同因素之间的权衡

见:

-Xmnsize 设置年轻一代(托儿所)堆的初始大小和最大大小(字节)

堆的年轻一代区域用于新对象。GC在该区域执行的频率高于其他区域。如果年轻一代的大小太小,那么将执行大量较小的垃圾收集。如果大小太大,则只执行完全垃圾收集,这可能需要很长时间才能完成。Oracle建议将年轻一代的堆大小保持在总堆大小的一半到四分之一之间


因此,比率不是固定的,而是可调的。它甚至不必是常数,因为您可以分别使用
-XX:NewSize
,为年轻一代设置最小和最大大小<代码>-XX:MaxNewSize。但是我们的建议确实是要有一个比老一代小的年轻一代,我希望后面会有默认值。

JVM中各代大小之间的比率是不同因素之间的权衡

见:

-Xmnsize 设置年轻一代(托儿所)堆的初始大小和最大大小(字节)

堆的年轻一代区域用于新对象。GC在该区域执行的频率高于其他区域。如果年轻一代的大小太小,那么将执行大量较小的垃圾收集。如果大小太大,则只执行完全垃圾收集,这可能需要很长时间才能完成。Oracle建议将年轻一代的堆大小保持在总堆大小的一半到四分之一之间


因此,比率不是固定的,而是可调的。它甚至不必是常数,因为您可以分别使用
-XX:NewSize
,为年轻一代设置最小和最大大小<代码>-XX:MaxNewSize。但我们的建议确实是要有一个比老一代小的年轻一代,我希望默认值也会遵循它。

即使有(或没有)可能重复,为什么这对您很重要?或者换一种说法:您希望从回答中获得什么样的见解,这对我很有帮助。我对它很好奇,想找出真相。我通常把旧空间调得比新空间小得多。您仍然可以设置它,但默认设置假定短期对象不需要太多空间,并且您可能需要累积更多/更大的长期对象。即使可能重复(或不重复),为什么这对您很重要?或者换一种说法:您希望从回答中获得什么样的见解,这对我很有帮助。我对它很好奇,想找出真相。我通常把旧空间调得比新空间小得多。你可以设置它,但是默认设置是假设你不需要太多的空间来放置短寿命对象,你可能需要积累更多/更大的长寿命对象。非常感谢,我找到了相关文章!非常感谢,我找到了相关的文章!