本文介绍了在没有垃圾收集的语言中,比如C++,必须特别关注内存管理。对于每个动态对象,必须要么实现引用计数以模拟 垃圾收集效果,要么管理每个对象的“所有权”--确定哪个类负责删除一个对象。通常,对这种所有权的维护并没有什么成文的规则,而是按照约定(通常是不成文的)进行维护。尽管垃圾收集意味着Java开发者不必太多地担心内存泄漏,有时我们仍然需要担心对象所有权,以防止数据争用(data races)和不必要的副作用。