认识V8
V8是一款主流的 JavaScript 执行引擎, Chrome浏览器、NodeJs都在使用
V8采用即时编译,将源码翻译成当前可以直接执行的机器码,使得执行速度很快
V8内存设限,64位操作系统不超过1.5G, 32位操作系统不超过800M
V8垃圾回收策略
采用分代回收的思想
内存分为新生代、老生代
针对不同对象采用不同算法
V8垃圾回收策略图示
V8中常用GC算法
分代回收
空间复制
标记清除
标记整理
标记增量
V8如何回收新生代对象
V8内存分配
V8内存空间一分为二,左侧用于存储新生代对象
小空间用于存储新生代对象 (64位操作系统大小是 32M | 32位操作系统大小是 16M)
新生代指的是存活时