1.概述
Java和C++的区别就在于垃圾回收技术和内存的动态分配上,C++没有相应的垃圾收集技术,只能手动的回收。而Java语言中有自动的垃圾回收机制,这大大的提高了开发效率。注意:垃圾回收算法并不是Java语言的产物。
2.什么是垃圾?
垃圾是指在运行程序的过程中没有任何引用指向的对象,这些对象就是要回收的垃圾,如果没有回收,那么等到垃圾的堆积,会大量的占用内存,就会导致内存溢出。
3.为什么要GC?
GC的作用就是回收无用的对象和清理内存中的碎片,让运行性能更加的优良。
4.内存溢出和内存泄露
内存溢出是指大量的垃圾数据的堆积,一直在占用着内存,最终导致内存不够用程序崩溃。
内存泄露是指该对象不被垃圾回收器标记,但是也不引用,就一直白白的占用内存空间,最终导致内存不够用程序崩溃。
5.Java中自动垃圾回收的优缺点
优点:
-
大大提升了开发效率,可以让程序员更关注于业务代码的实现。
-
降低了内存溢出和内存泄露的风险。
缺点:
-
自动了内存管理是一个黑匣子,程序员在遇到内存溢出问题不好检错和定位。
-
对于解决这些内存溢出的问题,我们必须掌握内存回收的原理和内存分配。文章来源:https://www.toymoban.com/news/detail-600370.html
6.垃圾回收的区域
垃圾回收的区域是Java堆和元空间(方法区),重点是Java堆。文章来源地址https://www.toymoban.com/news/detail-600370.html
到了这里,关于JVM垃圾回收概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!