现代的虚拟运行时平台基本上都提供了垃圾回收的机制,其实垃圾回收是一个非常古老的技术,可以追溯到Lisp。

那么为什么要使用垃圾回收呢?这个要和显式的内存分配和释放相比较。我们或多或少的接触过或学习过这样的代码:

struct Node{
   2:     ElementType Element;
   3:     Node* Next;
   4: }
   5:  
sizeof(Node));
   7:  
//do something
   9:  
  10: free(node);

相关文章: