是java“vendor implemented?”中的垃圾收集算法
答案 0 :(得分:6)
从引言段落到Java Virtual Machine Specification的第3章:
例如,内存布局 运行时数据区, 使用垃圾收集算法,和 Java的任何内部优化 虚拟机指令(for 例如,将它们翻译成机器 代码)由...决定 实施者。 [强调我的]
答案 1 :(得分:4)
答案 2 :(得分:1)
绝对依赖供应商。例如,GCJ和Sun VM使用完全不同的垃圾收集器。
答案 3 :(得分:0)
是。 Java VM Spec没有说明垃圾收集的具体内容。每个供应商都有自己的执行GC的实现。实际上,每个供应商都有多个GC策略,可以为特定任务选择最佳策略。
示例强> 调整吞吐量的GC可能不适用于实时系统,因为它们将具有不可预测的不稳定(通常更长)的暂停时间。不可预测性是实时应用的杀手。
某些GC(例如来自Oracle和IBM的GC)非常可调,可以根据应用程序的运行时内存特性进行调整。
GC的内部结构在更高层次上并不复杂。 LISP早期开始的许多算法今天仍在使用。
阅读本文(http://nd.edu/~dthain/courses/cse40243/spring2006/gc-survey.pdf“GC简介”),了解中等高级别的垃圾收集。
答案 4 :(得分:0)
是。 Java VirtualMachine规范没有说明垃圾收集的具体内容。每个供应商都有自己的执行任务的实现。 每个都可以自动调用垃圾收集器,然后我们不需要手动调用垃圾收集