v8引擎垃圾回收机制 - 新生代晋升老生代
2021-08-05 本文已影响0人
JX灬君
新生代如何晋升到老生代
- semi space(From) - 》 是否经历过Scavenge回收?
- 经历过Scavenge回收,判断To space是否使用超过25%
如果使用超过25%(64M/2*25%=8M),新生代晋升老生代,如果不是,将semi space(From)通过Scavenge复制semi space(To) -
没有经历过Scavenge回收,将semi space(From)通过Scavenge复制成semi space(To)
image.png
- 经历过Scavenge回收,判断To space是否使用超过25%
也就是说,新生代想要晋升到老生代,需要满足两个条件
- 经历过Sacvenge回收
- To space 已经使用了25%