问题calling-system-gc-explicitly中有一条评论指出“你不能”强制“通用JVM进行垃圾收集,因为JVM规范实际上并不需要垃圾收集器。”。我的问题是,是否有这样的JVM(以及它如何以及在何处使用,如果是这样的话)。
答案 0 :(得分:9)
例如,JavaCard的JVM在v3之前缺少垃圾收集。
答案 1 :(得分:3)
垃圾收集(如果忽略弱引用和软引用)大致是模拟具有无限内存,至少对于无法访问的对象。如果一个物体在树林中被垃圾收集而没有任何代码可以到达它,它是否会发出声音?
在实践中,没有收集器的JVM很少,因为在实践中内存有限。关于我能想到的唯一一个没有GC的JVM有用的地方是研究/学习JVM,或者只用于非常短暂的进程的JVM(你知道在你消耗它之前你会破坏整个JVM)太多的记忆)。