一、分区算法

一般来说,在相同条件下,堆空间越大,一次GC所需要的时间越长,有关GC产生的停顿越长。为了更好的控制GC产生的停顿时间,将一块大的内存区域分割成多个小块,根据目标的停顿时间,每次合理的回收若干个小区间,而不是整个堆空间,从而减少一次GC停顿的时间。

分代算法将按照对象的生命周期长短划分成两个部分,分区算法将整个堆空间划分成连续的不同小区间。

每一个小区间都独立使用,独立回收。这种算法的好处是可以控制一次回收多少个小区间。

二、内存图示

JVM学习笔记第47天-分区算法

三、特别提示

上述算法只是基本思路,实际GC实现过程要复杂的多,目前发展中的前沿GC都是复合算法,并且并行和并发兼备。

 

相关文章:

  • 2021-12-22
  • 2021-10-17
  • 2021-11-14
  • 2022-01-30
  • 2022-12-23
  • 2022-01-01
  • 2021-07-24
  • 2021-06-05
猜你喜欢
  • 2021-04-05
  • 2021-09-06
  • 2021-11-25
  • 2021-04-19
  • 2021-08-19
  • 2021-06-24
  • 2021-09-17
相关资源
相似解决方案