Java面试题 GC是什么?为什么要有GC?

GC是什么?为什么要有GC?

答:GC是垃圾收集的意思,内存处理是编程人员容易出问题的地方,忘记或者错误的内存回收会导致程序或者系统的不稳定甚至崩溃,Java提供的GC功能可以自动检测对象是否超过作用域从而达到自动回收内存的目的。

Java没有提供释放已分配内存的显示操作方法。Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要求垃圾收集,可以调用下面的方法之一:System.gc()或Runtime.getRuntime().gc(),但JVM可以屏蔽掉显示的垃圾回收调用。

垃圾回收可以有效的防止内存泄漏,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低优先级的线程进行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用来及回收器对某个对象或者所有对象进行垃圾回收。

在Java诞生初期,垃圾回收时Java最大的亮点之一,因为服务器端的编程需要有效的防止内存泄漏问题,然而时过境迁,如今Java的垃圾回收机制已经成为被诟病的东西。移动智能端用户通常觉得IOS的系统比Android系统有更好的用户体验,其中一个层次的原因在于Android系统中垃圾回收的不可预知性。

猜你喜欢

转载自blog.csdn.net/weixin_44296929/article/details/108344307
今日推荐