/** * 【GC---垃圾回收器】 * <概述> * 垃圾回收器 没有在规范中进行过多规定,可以由不同的厂商、不同版本的JVM来实现; * 由于JDK版本高速迭代,Java发展至今已经衍生出众多的 垃圾回收器 版本; * * <分类> * 1、按 垃圾回收器 线程数,分为: * 串行垃圾回收器Serial Collector * 同一段时间内只允许有一个垃圾回收线程 在单个cpu上 用于执行垃圾回收; * * 场景: * 单cpu硬件平台 * * 并行垃圾回收器Parallel Collector * 多个垃圾回收线程 在多个cpu上执行垃圾回收; * * 2、按 工作模式,分为: * 并发式垃圾回收器: * 用户线程 与 垃圾回收线程 同时执行,垃圾收集线程不会暂停用户线程; * * 独占式垃圾回收器: * 垃圾回收器工作时,停止所有的用户线程,直到垃圾回收完成; * * 3、按 碎片处理方式,分为: * 压缩式垃圾回收器 * 垃圾回收完成后,对存活对象进行压缩整理,清除回收后的碎片; * * 非压缩式垃圾回收器 * 仅对垃圾对象进行回收,不处理碎片; * * 4、按 工作的内存空间,分为: * 年轻代垃圾回收器、老年代垃圾回收器 * * <性能指标> * 吞吐量throughput: * 用户线程时间 与 总运行时间(用户时间+垃圾回收时间) 比例 * * 这种情况下,应用程序能容忍较高的暂停时间; * * 垃圾回收开销: * 垃圾回收时间 与 总运行时间(用户时间+垃圾回收时间) 比例 * * 暂停时间pause time: * 执行垃圾回收时,用户线程被暂停的时间; * * 回收频率: * 相对于 应用程序的执行,回收发生的频率; * * 内存占用: * 堆空间大小 * * 快速: * 一个对象从诞生到被回收所经历的时间; * * ***主要2点:吞吐量、暂停时间; * * ***现在标准: * 在最大吞吐量优先的情况下,降低停顿时间; */
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。