👌Jvm的垃圾回收是什么?

👌Jvm的垃圾回收是什么?

题目详细答案

什么是垃圾回收?

所谓垃圾回收机制(Garbage Collection, 简称GC),指自动管理动态分配的内存空间的机制,自动回收不再使用的内存,不定时去堆内存中清理不可达对象,以避免内存泄漏和内存溢出的问题。最早是在1960年代提出的。

垃圾回收是 java相较于c、c++语言的优势之一。其他编程语言,如C#、Python和Ruby等,也都提供了垃圾回收机制。不可达的对象并不会马上就会直接回收, 垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,程序员唯一能做的就是通过调用System.gc 方法来建议执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。

这也是垃圾收集器的最主要的缺点。

为什么需要垃圾回收?

如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。

优点:

减少了程序员的工作量,不需要手动管理内存

动态地管理内存,根据应用程序的需要进行分配和回收,提高了内存利用率

避免内存泄漏和野指针等问题,增加程序的稳定性和可靠

缺点:

垃圾回收会占用一定的系统资源,可能会影响程序的性能

垃圾回收过程中会停止程序的执行,可能会导致程序出现卡顿等问题

不一定能够完全解决内存泄漏等问题,需要在编写代码时注意内存管理和编码规范

 wechat
天生我才必有用