前面些文章中,已经学习到了类加载子系统的各个内容,运行时数据区(内存模型),执行引擎等内容,接下来我们要学习垃圾回收了。如果你想系统的学习,那可以参考我主页的java虚拟机内容专栏
按着总体的第一篇开始看,不收费,一直看着走,中途我有什么写得不太清楚的,你可以自己去查阅资料了解那一块的知识,这样可以系统的学习完。好啦,接下里要开始学习垃圾回收篇的内容了。干就完了!!!!!
1、什么是垃圾?
学过C++的都知道,都是是要自己来进行内存的使用和回收等,而java则是不要我们来回收,自动垃圾回收。
(1)具体是指
- 垃圾是指(只有聚合类型的数据才会是垃圾)
(2)为什么需要GC
2、早期垃圾回收
这里补充一下内存泄漏和内存溢出
- 内存溢出是指当一定的内存,你不断的new对象放里面,导致后面内存空间不足了,后面也就报错了,大概是这一个意思。
- 内存泄漏在java里面是指当某一个对象,你不用它了,但是虚拟机又无法自行判断是否别回收的情况,就导致了内存泄漏。
3、java的垃圾回收机制