memory-management - 你什么时候不想使用垃圾收集?

标签 memory-management garbage-collection

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

6年前关闭。




Improve this question




垃圾收集从 LISP 的早期就已经存在,现在 - 几十年后 - 大多数现代编程语言都使用它。

假设您正在使用其中一种语言,您有什么理由不使用垃圾收集,而是以某种方式手动管理内存分配?

你有没有这样做过?

如果可能,请给出具体的例子。

最佳答案

我能想到几个:

确定性释放/清理

实时系统

不放弃一半的内存或处理器时间 - 取决于算法

更快的内存分配/释放以及特定于应用程序的内存分配、释放和管理。基本上是编写自己的内存内容 - 通常用于性能敏感的应用程序。这可以在应用程序的行为被很好地理解的情况下完成。对于通用 GC(如 Java 和 C#),这是不可能的。

编辑

也就是说,GC 对社区的大部分人来说肯定是有好处的。它使我们能够更多地关注问题领域,而不是漂亮的编程技巧或模式。不过,我仍然是一个“非托管”的 C++ 开发人员。在这种情况下,良好的实践和工具会有所帮助。

关于memory-management - 你什么时候不想使用垃圾收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/407798/

相关文章:

c# - 存储库上的 Ninject WCF 垃圾收集

Android,后退按钮释放 Activity 内存?

java - 如何删除特定对象?

c++ - 在现代 PC 的 C++ 异常类中避免 std::wstring 数据成员是否有意义?

c# - 堆内存问题

c - 在不同的功能中分配的空闲内存?

php - 过早收集资源垃圾

java - 装箱与创建 1 个元素的数组

ios - 无法释放变量 ios

c - 设置调整大小时出现内存错误