ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 复制算法(Copying) **原理**:复制算法,它将堆上的内存分为两个大小相等的区域,一个是空闲区域,一个是活动区域。在程序运行中,实际使用的是活动区域,也就是有50%的空间被浪费掉 #### 复制算法的实现过程: 1. 找出活动空间中所有存活的对象 2. 将这些存活的对象复制到空闲区域 3. 将之前的活动空间清空变为空闲空间,而存活对象所在的区域则变为活动空间 #### 优缺点 优点:实现简单,运行高效 缺点:内存缩小了一半 #### 重点 * 现在的商业JVM都采用这种收集算法来回收新生代 * Eden:Survivor=8:1(HotSpot默认) * 分配担保(Handle Promotion),当Survivor空间不够时,需要老年代进行分配担保 #### HotSpot新生代的内存划分 * HotSpot新生代的内存划分比例为80%:10%:10% * HotSpot新生代的可用内存空间为整个新生代容量的90%(80%+10%),只有10%的内存闲置("浪费")