1.C++对比Java
C++ 自己生成对象自己回收。(食堂)
Java 生成的对象会有专门的GC回收。(饭店)
2.垃圾回收过程
- 1.发现无用的对象
- 2.回收无用对象占用的内存空间
3.垃圾回收相关算法
- 1.引用计数法
- 2.引用可达法(根搜索算法)
4.通用的分代垃圾回收机制
JVM 将堆内存划分为Eden、Survivor、Tenured/Old空间
- 1.年轻代
所有新生成的对象在Eden,一般放在Eden,Survivor中,采用Minor GC - 2.年老代
在年轻代中经历15次垃圾回收后任存活的对象,当年老代越来越多时,启动Major GC和Full GC - 3.持久代
用于存放静态文件,java类、方法等
网友评论