1、python gc
python对象的销毁(garbage collection):Python使用了引用计数这一简单技术来跟踪和回收垃圾。
在Python内部记录着所有使用中的对象各有多少引用。一个内部跟踪变量,称为一个引用计数器。当对象被创建时,就创建了一个引用计数,当这个对象不再需要时,也就是说这个对象的引用计数变为0时,它被垃圾回收。但是将垃圾回收不是实时的,而是由解释器在适当的时机,将垃圾对象占用的内存空间回收。
a = 40 #创建对象<40>
b = a #增加引用,<40>的计数
c = [b] #增加引用,<40>的计数
del a #减少引用<40>的计数
b = 100 #减少引用<40>的计数
c[0] = -1 #减少引用<40>的计数
垃圾回收机制不仅针对引用计数为0的对象,同样也可以处理循环引用的情况。循环引用指的是两个对象相互引用,但是没有其他变量引用它们。对于这种循环引用的情况,仅仅使用引用计数是不够的。Python的垃圾回收器实际上是一个引用计数器和一个循环垃圾手机器。作为引用计数的补充,垃圾收集器也会留心被分配的总量很大(及未通过引用计数器销毁的那些)的对象。在这种情况下,解释器会暂停下来,试图清理所有未引用的循环。
2、php gc
https://blog.csdn.net/qq_31729627/article/details/79526807
3、go gc
三色标记发