01.垃圾回收机制

2021-06-27  本文已影响0人  exceptioneee

垃圾回收基础

JVM能自动对内存中已死亡或长时间未使用的对象进行清除和回收,从而有效提高内存空间利用率。
但如果完全交由JVM来回收对象就会增加回收性能的不确定性,所以面对特定的业务场景就需要人为介入来实现垃圾回收的调优。比如说对内存要求苛刻的情况下,需要提高对象的回收效率;在CPU使用率高的情况下,就需要降低并发时垃圾回收的频率。所以说垃圾回收调优是一项必备技能。学习调优技能前我们要先了解一下垃圾回收机制。

从以下三个角度来了解垃圾回收机制

1. 回收发生在哪里

JVM的内存区域主要有5个部分:方法区、堆,虚拟机栈、本地方法栈、程序计数器

其中线程共享的是方法区和,这两个区域是垃圾回收的关注的区域。方法区主要回收的是废弃的常量和无用类。主要是对象的回收,堆是我们要关注的垃圾回收的重点区域

线程隔离的是虚拟机栈、本地方法栈和程序计数器,他们是线程私有的,会随着线程的创建而创建,销毁而销毁,所以这三个区域的内存分配和销毁都是具有确定性的,因此不是垃圾回收关注的重点。

2. (堆中的)对象在什么时候可以被回收

对象不再被引用时即可被回收。
如何判断对象不再被引用?

3.怎样回收

垃圾回收算法

上一篇下一篇

猜你喜欢

热点阅读