java基础知识垃圾收集

时间:2009-08-30 06:08:26

标签: java garbage-collection

是java“vendor implemented?”中的垃圾收集算法

5 个答案:

答案 0 :(得分:6)

从引言段落到Java Virtual Machine Specification的第3章:

  

例如,内存布局   运行时数据区,   使用垃圾收集算法,和   Java的任何内部优化   虚拟机指令(for   例如,将它们翻译成机器   代码)由...决定   实施者。 [强调我的]

答案 1 :(得分:4)

是的,不仅如此,每个JVM都可以包含多个垃圾收集策略:

答案 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规范没有说明垃圾收集的具体内容。每个供应商都有自己的执行任务的实现。 每个都可以自动调用垃圾收集器,然后我们不需要手动调用垃圾收集