Perl中的垃圾收集

前端之家收集整理的这篇文章主要介绍了Perl中的垃圾收集前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Java不同,Perl使用引用计数进行垃圾收集.我已经尝试了一些以前提到的关于C RAII和智能指针和Java GC的问题,但是并不了解Perl如何处理循环引用问题.

任何人都可以解释Perl的垃圾收集器如何处理循环引用?有没有办法回收不再被程序使用的循环引用的内存,或者Perl完全忽略这个问题?

解决方法

根据Perl第3版编程的Perl版本,在Perl 5退出时,会出现一个“昂贵的标记和扫描”来回收循环引用.您将尽可能避免循环引用,因为否则在程序退出之前不会被回收.

Perl 5通过Scalar::Utils模块提供弱参考.

Perl 6将移植到可插入的垃圾回收方案(那么,underlying VM will have multiple garbage collection options和这些选项的行为可能会对Perl产生影响).也就是说,您可以在各种垃圾收集器之间进行选择,或者实现自己的垃圾收集器.想要一个复制收藏家?当然.想要一个着色收集器?你说对了.标记/扫描,压实等?为什么不?

猜你在找的Perl相关文章