垃圾收集器和传统内存收集器有什么区别?

垃圾收集器和传统内存收集器的区别?

哪些应用程序不能很好地与垃圾收集器配合使用?

zhangchen208 回答:垃圾收集器和传统内存收集器有什么区别?

垃圾收集是一种管理内存(甚至其他资源,如 Linux 上的文件描述符,或文件系统中的 inodes,或者某些 SQL 服务中使用的某种临时表)的方式。

在我看来,传统的内存管理(想想 C++ 构造函数/析构函数)是一种有限形式的垃圾收集。

阅读GC handbook了解更多信息。

哪些应用程序不能很好地与垃圾收集器配合使用?

那些消耗许多动态资源(例如窗口小部件、文件描述符、agents、可能是一些自动证明助手中的子证明、OpenCL kernels ....)的那些没有被您的 GC。

因此,即使在使用具有内存 GC 的语言或实现(Ocaml、Scheme、Common Lisp)进行编码时,了解 GC 算法也很有用。如果您编写视频游戏,您需要为精灵等实现某种专门的 GC(即使您的游戏是在 JVM 上编码的,这需要内存的 GC)。>

我的观点是 GC 算法、术语或启发式在很多场合都很有用(例如,即使 git 也有一些“GC”)。

本文链接:https://www.f2er.com/987113.html

大家都在问