我正在阅读关于java GC的文档
旧的或永久的内存空间已满,并且需要容纳新的对象或类 如果相关参数具有不同的值,则向其最大尺寸扩展。换句话说,如果 -Xms和-Xmx具有不同的值,如果Old的大小需要从-Xms增加到-Xmx 为了容纳更多的对象,调用FullGC。同样,如果-XX:PermSize和-XX:MaxPermSize有 不同的值和永久空间需要增加到-XX:MaxPermSize到 容纳新的java类,调用FullGC。始终设置-Xms和-Xmx可以避免这种情况 以及-XX:PermSize和-XX:MaxPermSize为相同的值。
想知道为什么在这种情况下调用FullGC?有什么用?
答案 0 :(得分:1)
调整堆大小不仅仅是添加更多内存。 GC使用的数据结构必须调整大小,这需要执行FullGC才能执行此操作。
答案 1 :(得分:0)