JVM中常用的垃圾回收算法有哪些,能否详细解释一下其工作原理和优缺点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5301个文字,预计阅读时间需要22分钟。
Java垃圾回收机制(GC是什么?为什么需要GC)+ 为了让程序员更专注于代码的实现,而不必过多考虑内存释放的问题,因此,在Java语言中,有了自动的垃圾回收机制。
1 Java垃圾回收机制(GC是什么?为什么要GC)
为了让程序员更专注于代码的实现,而不用过多的考虑内存释放的问题,所以,在Java语言中,有了自动的垃圾回收机制,也就是我们熟悉的GC(Garbage Collection)。
有了垃圾回收机制后,程序员只需要关心内存的申请即可,内存的释放由系统自动识别完成。
在进行垃圾回收时,不同的对象引用类型,GC会采用不同的回收时机
换句话说,自动的垃圾回收的算法就会变得非常重要了,如果因为算法的不合理,导致内存资源一直没有释放,同样也可能会导致内存溢出的。
当然,除了Java语言,C#、Python等语言也都有自动的垃圾回收机制。
2 对象什么时候可以被垃圾器回收
简单一句就是:如果一个或多个对象没有任何的引用指向它了,那么这个对象现在就是垃圾,如果定位了垃圾,则有可能会被垃圾回收器回收。
本文共计5301个文字,预计阅读时间需要22分钟。
Java垃圾回收机制(GC是什么?为什么需要GC)+ 为了让程序员更专注于代码的实现,而不必过多考虑内存释放的问题,因此,在Java语言中,有了自动的垃圾回收机制。
1 Java垃圾回收机制(GC是什么?为什么要GC)
为了让程序员更专注于代码的实现,而不用过多的考虑内存释放的问题,所以,在Java语言中,有了自动的垃圾回收机制,也就是我们熟悉的GC(Garbage Collection)。
有了垃圾回收机制后,程序员只需要关心内存的申请即可,内存的释放由系统自动识别完成。
在进行垃圾回收时,不同的对象引用类型,GC会采用不同的回收时机
换句话说,自动的垃圾回收的算法就会变得非常重要了,如果因为算法的不合理,导致内存资源一直没有释放,同样也可能会导致内存溢出的。
当然,除了Java语言,C#、Python等语言也都有自动的垃圾回收机制。
2 对象什么时候可以被垃圾器回收
简单一句就是:如果一个或多个对象没有任何的引用指向它了,那么这个对象现在就是垃圾,如果定位了垃圾,则有可能会被垃圾回收器回收。

