摘抄自小涛涛~~~:小涛涛JVM系列博客
众所周知,java语言不需要像c++那样需要自己申请内存,自己释放内存,这些都是JVM帮我们做好了的,但是对于一名java
程序员,想要更近自己的水平更上一层楼,就要去了解GC的工作原理,根据原理才能写出更好的更优的程序。
接下来,我们从三个方面分析JVM 的垃圾回收机制(当然这个三点中还有一些小点,下面已解决列出):
1、如何判断对象是否为垃圾
1.1、引用计数法
1.2、可达性分析法
2、如何回收垃圾
2.1、回收策略
2.1.1、标记-清除算法
2.1.2、复制算法
2.1.3、标记-整理算法
2.1.4、分代收集算法
2.2、常见垃圾回收器
2.2.1、serial
2.2.2、Parnew
2.2.3、Cms
2.2.4、G1
3、何时回收垃圾