Memory management 在C、C++;,JAVA 我只是想知道哪种语言在C、C++和java之间有更好的内存管理,为什么会这样,它是基于什么标准?

Memory management 在C、C++;,JAVA 我只是想知道哪种语言在C、C++和java之间有更好的内存管理,为什么会这样,它是基于什么标准?,memory-management,Memory Management,我知道Java使用垃圾收集来释放内存,而C使用DMA函数。这是否会使Java在内存管理方面做得更好,因为它是自动处理的?我不知道C++,所以我不太了解它,虽然我知道它使用析构函数和删除。 如有任何建议/想法,我们将不胜感激。Java具有内存管理功能。C和C++没有,所以内存管理是程序员的一个功能。 < P> java的问题是,因为它自动地进行垃圾收集,并且只能诱导它发生,所以在你想要释放它们的确切时刻,你不能释放资源。优点是您不必担心对象被留下,因为从长远来看,它们不会影响您的内存(当然,只要您

我知道Java使用垃圾收集来释放内存,而C使用DMA函数。这是否会使Java在内存管理方面做得更好,因为它是自动处理的?我不知道C++,所以我不太了解它,虽然我知道它使用析构函数和删除。
如有任何建议/想法,我们将不胜感激。

Java具有内存管理功能。C和C++没有,所以内存管理是程序员的一个功能。

< P> java的问题是,因为它自动地进行垃圾收集,并且只能诱导它发生,所以在你想要释放它们的确切时刻,你不能释放资源。优点是您不必担心对象被留下,因为从长远来看,它们不会影响您的内存(当然,只要您不保留对它们的引用)

<>对于最佳内存管理,我建议C或C++,即使在这两个之间,我也会说C++,因为它有很多的特性。至于C和C++之间内存管理的具体参数,我不知道。 在任何情况下,它们允许你以一种更加可控和定制的方式处理事情,这意味着你不能放松,也不能忘记自己做管理


希望这会有所帮助。

至于内部内存管理,Java是三者中最好的,因为它可以自动处理对象

如果你的问题是针对性能,C或C++是更好的选择。您必须自己完成所有的内存管理,但同时不必等待垃圾收集器完成它的工作。
这完全取决于您的方法: 如果你想优化你的应用程序的性能,就去C或C++。
如果你自己不想担心内存管理,那就用Java吧。

这是我书中的一个苹果对桔子的问题。C/C++没有内存管理,至少在你的工作语言中没有。也就是说,java将为您分配和销毁内存,但这是以控制为代价的。对于标准业务应用程序,这不是问题。无论哪种方式,您都将加载一些臃肿的第三方代码,但当它起作用时,您在c/c++中拥有更强大的功能。你也有更大的力量射中自己的脚

Java和C都有垃圾收集功能。这是一件好事,因为程序员在内存管理方面的问题较少,可以集中精力解决其他问题。在C和C++中,你必须手动管理内存——为此你需要很多时间和耐心和经验。
JVM的垃圾回收器足够快,因此你几乎不觉得C++程序与java程序的时间执行之间的差异(C++应该比java快)。在C语言和C++语言中,程序员管理内存是导致这些程序中软件错误的根本原因。这是Java和C等现代语言进行垃圾收集的主要原因之一。

您应该将.NET Framework添加到列表中……您是将“更好”定义为自动化,还是更多控制?正如PostMan所说,您需要定义“更好”。答案不能简单到更好。每种方法都有赞成和反对。我很确定C和C++可以为你处理堆栈。或者你发现自己做了大量的
alloca()
?alloca()仍然没有重新启动堆栈,返回后就可以了。