GC 分代回收算法

GC 分代回收算法

1、首先了解JVM堆内存是如何分配的。

年轻代内部  生成区 和 S0 S1 的比例 默认情况下是 8:1 :1
堆内存和永久代存储的内容有区别: 
堆内存主要存储的是 : 对象,GC机制主要回收的就是这个
永久代存储的是: 也被称为方法区、存储程序中长期存活的对象 类似  元数据方法常量及属性等

 元空间:jdk8 之后就没有永久代的概念的 取而代之的是叫 元空间 
元空间和 永久代的区别是 
  •  元空间使用的是本地的内存而不是 JVM空间
  •  字符串常量 由永久代 移动到 堆内存中
以下是元空间的配置参数:
  • MetaspaceSize :初始化元空间大小,控制发生GC阈值
  • MaxMetaspaceSize : 限制元空间大小上限,防止异常占用过多物理内存



怎样避免多次FullGC?
  • 避免定义过大的对象(数组)
  • 避免将过大对象定义为静态变量

posted @ 2022-02-13 21:08  不良徐某  阅读(58)  评论(0编辑  收藏  举报