现代的虚拟运行时平台基本上都提供了垃圾回收的机制,其实垃圾回收是一个非常古老的技术,可以追溯到Lisp。
那么为什么要使用垃圾回收呢?这个要和显式的内存分配和释放相比较。我们或多或少的接触过或学习过这样的代码:
struct Node{
2: ElementType Element;
3: Node* Next;
4: }
5:
sizeof(Node));
7:
//do something
9:
10: free(node);