我的问题非常清楚..如果它没有收集垃圾会发生什么事 为什么在c ++中不会发生这种事情
答案 0 :(得分:0)
如果未收集陈旧对象,则会遇到OutOfMemoryError。这也将在C ++中发生,如果你不清理旧数据(错误可能不会被称为OutOfMemoryError,但我认为结果是相同的。)
答案 1 :(得分:0)
它确实发生在C / C ++中。以不同的方式。在C / C ++中,责任更多的是程序员跟踪分配的内存并释放它。程序员可以以指针的形式直接访问内存。在java中,它对程序员来说都是隐藏的。你不需要跟踪内存,JVM以垃圾收集的形式为你做。这并不意味着你可以狡猾地为对象分配内存。全局对象会长时间保留,如果GC无法及时到达,则内存超出限制并发生OutOfMemoryException。