首先我们了解JVM
JVM:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
每个Java程序都离不开Java虚拟机,Java程序的运行依靠具体的Java虚拟机实例。Java虚拟机主要分为五大模块:类装载器子系统、运行时数据区、执行引擎、本地方法接口和垃圾收集模块。其中垃圾收集模块在Java虚拟机规范中并没有要求Java虚拟机垃圾收集,但是在没有发明无限的内存之前,大多数JVM实现都是有垃圾收集的。
JVM体系结构
常用的GC算法
1、引用计数法(JVM的实现一般不采用这种方式)
2、跟踪(复制、标记-清除、标记-压缩)