您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java中的垃圾收集器是什么?

Java中的垃圾收集器是什么?

垃圾收集器是运行在一个程序的Java虚拟机,其摆脱其未使用的Java应用程序了对象。它是自动内存管理的一种形式。

当典型的Java应用程序运行时,它正在创建新的对象,例如StringsFiles,但是在一段时间之后,这些对象将不再使用。例如,看下面的代码

for (File f : files) {
    String s = f.getName();
}

在上面的代码中,String sfor循环的每次迭代中创建。这意味着在每次迭代中,都会分配一点内存来创建一个String对象。

回到代码,我们可以看到,一旦执行了一次迭代,在下一次迭代中,String就不再使用在上一次迭代中创建的对象,该对象现在被视为“垃圾”。

最终,我们将开始产生大量垃圾,并且内存将用于不再使用的对象。如果这种情况持续下去,最终Java虚拟机将耗尽空间以创建新对象。

那就是垃圾收集器介入的地方。

垃圾收集器将查找不再使用的对象,并摆脱它们,释放内存,以便其他新对象可以使用该内存。

在Java中,垃圾收集器负责内存管理,但是在其他语言(例如C)中,则需要使用诸如malloc和的free功能自行执行内存管理。内存管理是容易出错的事情之一,可能会导致所谓的内存泄漏 -在不再使用内存时无法回收内存的地方。

垃圾回收这样的自动内存管理方案使程序员不必担心内存管理问题,因此他或她可以将更多精力放在开发他们需要开发的应用程序上。

java 2022/1/1 18:23:54 有523人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶