C/C++语言的垃圾回收程序的运行必然要申请内存资源,无效的对象资源如果不及时处理就会一直占用内存资源,最终将导致内存溢出,所以对内存资源的管理就变得非常重要了。
JAVA语言的垃圾回收在C/C++语言中,没有自动垃圾回收机制,是通过new关键字申请内存资源,通过delete关键字释放内存资源。
如果,程序猿在某些位置没有写delete进行释放,那么申请的对象将一直占用内存资源(内存泄漏),最终可能会导致内存溢出。
为了让程序猿更专注于代码的实现,而不用过多的考虑内存释放的问题,所以,在java语言中,有了自动的垃圾回收机制,也就是我们熟悉的GC。
有了垃圾回收机制后,程序猿只需关心内存的申请即可,内存的释放由系统自动识别完成。
换句话说,自动的垃圾回收的算法就会变得非常重要了,如果因为算法的不合理,导致内存资源一直没有释放,同样也有可能导致内存溢出的。
当然,除了java语言,C#,Python等语言也有自动的垃圾回收机制。