python中循环引用导致内存泄漏小案例
首先定义一个Person类和一个Dog类,然后分别实例化对象p和d,给p对象添加一个pet属性
给d对象添加一个master属性此时Person和Dog的应用计数都为2,当del p 和del d后Person
和Dog的应用计数都为1,就造成了循环引用导致内存不能释放 最终导致内存泄漏。
以下图片是没有循环应用的代码执行结果
以下图片是循环引用后代码执行结果
首先定义一个Person类和一个Dog类,然后分别实例化对象p和d,给p对象添加一个pet属性
给d对象添加一个master属性此时Person和Dog的应用计数都为2,当del p 和del d后Person
和Dog的应用计数都为1,就造成了循环引用导致内存不能释放 最终导致内存泄漏。
以下图片是没有循环应用的代码执行结果
以下图片是循环引用后代码执行结果