JVM垃圾回收机制概述
1.定义
是指JVM用于释放那些不再使用的对象所占用的内存。
2.方式
2.1引用计数(早期)
当引用程序创建引用以及引用超出范围时,JVM必须适当增减引用数。当某个对象的引用数为0时,进行垃圾收集。
2.2对象引用遍历
标记:对象引用遍历从一组对象开始,沿着对象图(有向图)上的每条链接,递归所有可到达的对象。如果某个对象不能从这
些根对象的一个到达,则将它当做垃圾收集。在遍历的时候gc必须记住哪些对象可达,以便删除不可达的对象。这段过程称为标记。
删除:扫描堆栈将不可到达地的对象删除
压缩:将删除对象后分成很多小段的杂乱内存进行整理压缩,形成可利用的空间
3.常见标准
给一个对象赋予了NULL值,而且再也未使用。
给一个对象赋予了新值,重新分配内存空间。