垃圾收集器
回收算法的实现
出现垃圾收集器无法组合使用的原因
设计上没有使用相同的方案,如分代框架等。
衡量垃圾收集器
最重要的指标
- 内存占用(
Footprint
) - 吞吐量(
Throughput
) - 延迟(
Latency
)
并行及并发的概念
并行(Parallel
):指多条垃圾收集器线程之间的关系。说明同一时间有多条这样的线程在协同工作,通常默认此时用户线程处于等待状态。
并发(Concurrent
):指垃圾收集线程与用户线程之间的关系,说明同一时间垃圾收集器线程与用户线程都在运行。由于用户线程并未冻结,
所以程序仍然能响应请求,但由于垃圾收集器线程占用了一部分系统资源,此时应用程序的吞吐量将有一定影响。
吞吐量Throughput
吞吐量 = 运行用户代码的时间 /(运行用户代码时间 + 运行垃圾收集时间)
低停顿适合需要与用户交互或保证服务响应质量的程序。
高吞吐量则可以高效率利用处理器资源,适合在后台运算而不需要太多交互的分析任务。