垃圾收集器

回收算法的实现

出现垃圾收集器无法组合使用的原因

设计上没有使用相同的方案,如分代框架等。

衡量垃圾收集器

最重要的指标

  • 内存占用(Footprint
  • 吞吐量(Throughput
  • 延迟(Latency

并行及并发的概念

并行(Parallel):指多条垃圾收集器线程之间的关系。说明同一时间有多条这样的线程在协同工作,通常默认此时用户线程处于等待状态。

并发(Concurrent):指垃圾收集线程与用户线程之间的关系,说明同一时间垃圾收集器线程与用户线程都在运行。由于用户线程并未冻结,

所以程序仍然能响应请求,但由于垃圾收集器线程占用了一部分系统资源,此时应用程序的吞吐量将有一定影响。

吞吐量Throughput

吞吐量 = 运行用户代码的时间 /(运行用户代码时间 + 运行垃圾收集时间)

低停顿适合需要与用户交互或保证服务响应质量的程序。

高吞吐量则可以高效率利用处理器资源,适合在后台运算而不需要太多交互的分析任务。