在计算机程序设计中，弱引用与强引用相对，是指不能确保其引用的对象不会被垃圾回收器回收的引用。一个对象若只被弱引用所引用，则被认为是不可访问（或弱可访问）的，并因此可能在任何时刻被回收。一些配有垃圾回收机制的语言，如Java、C#、Python、Perl、Lisp等都在不同程度上支持弱引用。
垃圾回收.垃圾回收用来清理不会再使用的对象，从而降低内存泄露和数据损坏的可能性。垃圾回收主要有两种类型：追踪和引用计数。引用计数会记录给定对象的引用个数，并在引用个数为零时收集该对象。由于一次仅