程语言中（例如：Java，C#，D语言，Dylan）都使用了自动垃圾回收机制。相反的，在动态内存分配机制中，当需要明确释放的内存变得不可访问时，此内存可以不再明确释放。在使用人工内存管理中，系统中的不可访问内存会导致内存泄漏。一些垃圾收集器使用弱引用。如果一个对象能够通过弱引用或者包含弱引用的链接，那么这个对象可以被称为弱访问。垃圾收集器能够把弱访问的对象图视为不可访问的，并且释放它。（反过来说，防止对象被当作垃圾收集的引用被称为"强引用"；通过只含有强引用的链接来访问的弱可访问对象是不可访问的。）