如何在内存管理环境中进行内存管理?内存管理环境中的内存管理
它只是垃圾收集或其他东西?
在Java中,GC是周期性的VM没有显式调用垃圾收集完成。我知道我们可以使用System.gc()来请求垃圾回收,但不保证垃圾回收会发生。
那么,有没有在内存管理的环境中其他任何方式进行内存管理?
如何在内存管理环境中进行内存管理?内存管理环境中的内存管理
它只是垃圾收集或其他东西?
在Java中,GC是周期性的VM没有显式调用垃圾收集完成。我知道我们可以使用System.gc()来请求垃圾回收,但不保证垃圾回收会发生。
那么,有没有在内存管理的环境中其他任何方式进行内存管理?
没有很多选择。你可以额外检查有不同类型的GC正在http://sanjaal.com/java/574/java-general/all-about-java-garbage-collection-types-algorithms-advantages-and-disadvantages/或尝试调整GC参数
简短的回答你的问题是没有。在Java环境中,您确实无法直接控制释放或管理堆空间的方式。这就是说,现代JVM具有非常高效的GC算法,并且除了最极端的情况外,通常都会为所有用户管理内存使用情况做出完美可接受的工作。
尽管您无法直接控制收集哪些对象以及何时发生此过程,但您可以使用java.lang.ref中的参考类来影响哪些对象符合条件且更有可能在给定时间被垃圾收集。
即使你不能真正在技术层面上管理你的记忆,开发商仍能够管理存储到一定程度。我的意思是,不要试图去争取或改进JVM,而要让它为你做好工作。但话虽如此,编写不好的程序(即糟糕的内存管理,也就是内存使用)可能导致糟糕的程序体验。但是,如果你从设计的角度管理你的内存(即不浪费内存,利用适当的算法和数据结构,如你认为合适的不参考/释放内存),这些东西可以让你的开发人员得到某种程度的控制。
简短的回答:你不必担心垃圾收集;唯一需要担心的是不会导致java中的内存泄漏。 看到这一点:Creating a memory leak with Java
“存储管理环境”? – kosa 2012-08-01 19:38:39
我认为,问答已经足够清楚,可以重新开放。 – Vikram 2012-08-06 15:34:27