在Java中,当开发者创建一个新对象(比如:new Integer(5))时,不需要自己开辟内存空间,而是把它交给JVM。在应用程序整个生命周期类,JVM负责检查哪些对象可用,哪些对象未被使用。未使用对象将被丢弃,其占用的内存也将被回收,这一过程被称为垃圾回收。JVM负责垃圾回收的模块集合被称为垃圾回收器(GC)。
Java的内存自动管理机制依赖于GC定期查找未使用对象并删除它们。Java中的内存泄漏是由于GC无法识别一些已经不再使用的对象,而这些未使用的对象一直留在堆空间中,这种堆积最终会导致java.lang.OutOfMemoryError: Java heap space错误。
网友回复