动态内存释放中的Full Garbage Collection是什么意思?

时间:2014-05-22 04:38:20

标签: java garbage-collection jvm dynamic-memory-allocation

我实际上正在经历不同GC的内部服务JVM,即G1,CMS,ParallelOld

只是想了解:

  

GC执行完整垃圾回收时采取了哪些不同的操作?

     

是否强行释放内存?

     

哪些情况对应用有益?

1 个答案:

答案 0 :(得分:3)

术语“完整”与“主要”同义,而不是“次要”垃圾收集循环。这些术语涉及分代垃圾收集方案,其中使用简单且快速的算法来分配和释放新的和短期对象,并且将更复杂的算法用于旧对象。简单的算法将空间换成时间,因为它需要两个大小相等的内存块,其中一个总是空的。旧对象的算法进行相反的权衡。

大多数情况下,仅执行次要GC运行,释放足够的内存以进行,并且仅偶尔需要运行主要(完整)GC以从旧一代恢复空间。由于完整的GC是一个CPU密集型,世界各地的事件,频繁的完整GC是应用程序性能的问题。