关闭。这个问题需要更多focused .它目前不接受答案。
想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .
6年前关闭。
Improve this question
垃圾收集从 LISP 的早期就已经存在,现在 - 几十年后 - 大多数现代编程语言都使用它。
假设您正在使用其中一种语言,您有什么理由不使用垃圾收集,而是以某种方式手动管理内存分配?
你有没有这样做过?
如果可能,请给出具体的例子。
最佳答案
我能想到几个:
确定性释放/清理
实时系统
不放弃一半的内存或处理器时间 - 取决于算法
更快的内存分配/释放以及特定于应用程序的内存分配、释放和管理。基本上是编写自己的内存内容 - 通常用于性能敏感的应用程序。这可以在应用程序的行为被很好地理解的情况下完成。对于通用 GC(如 Java 和 C#),这是不可能的。
编辑
也就是说,GC 对社区的大部分人来说肯定是有好处的。它使我们能够更多地关注问题领域,而不是漂亮的编程技巧或模式。不过,我仍然是一个“非托管”的 C++ 开发人员。在这种情况下,良好的实践和工具会有所帮助。
关于memory-management - 你什么时候不想使用垃圾收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/407798/