File tree 1 file changed +6
-6
lines changed
1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -90,17 +90,17 @@ Context 为准的,当退出这个函数时,又恢复到了原来的 Context
90
90
在深入研究垃圾回收器的内部工作原理之前,首先来看看堆是如何组织的。V8 将堆分为了几个不同的区域:
91
91

92
92
93
- ** 新生区 **:大多数对象开始时被分配在这里。新生区是一个很小的区域,垃圾回收在这个区域非常频繁,与其他区域相独立。
93
+ **新生区**:大多数对象开始时被分配在这里。新生区是一个很小的区域,垃圾回收在这个区域非常频繁,与其他区域相独立。
94
94
95
- ** 老生指针区 **:包含大多数可能存在指向其他对象的指针的对象。大多数在新生区存活一段时间之后的对象都会被挪到这里。
95
+ **老生指针区**:包含大多数可能存在指向其他对象的指针的对象。大多数在新生区存活一段时间之后的对象都会被挪到这里。
96
96
97
- ** 老生数据区 **:这里存放只包含原始数据的对象(这些对象没有指向其他对象的指针)。字符串、封箱的数字以及未封箱的双精度数字数组,在新生区经历一次 Scavenge 后会被移动到这里。
97
+ **老生数据区**:这里存放只包含原始数据的对象(这些对象没有指向其他对象的指针)。字符串、封箱的数字以及未封箱的双精度数字数组,在新生区经历一次 Scavenge 后会被移动到这里。
98
98
99
- ** 大对象区 **:这里存放体积超过 1MB 大小的对象。每个对象有自己 mmap 产生的内存。垃圾回收器从不移动大对象。
99
+ **大对象区**:这里存放体积超过 1MB 大小的对象。每个对象有自己 mmap 产生的内存。垃圾回收器从不移动大对象。
100
100
101
- **Code 区 **:代码对象,也就是包含 JIT 之后指令的对象,会被分配到这里。
101
+ **Code 区**:代码对象,也就是包含 JIT 之后指令的对象,会被分配到这里。
102
102
103
- **Cell 区、属性 Cell 区、Map 区 **:这些区域存放 Cell、属性 Cell 和 Map,每个区域因为都是存放相同大小的元素,因此内存结构很简单。
103
+ **Cell 区、属性 Cell 区、Map 区**:这些区域存放 Cell、属性 Cell 和 Map,每个区域因为都是存放相同大小的元素,因此内存结构很简单。
104
104
105
105
> 如上图:在 node-v4.x 之后,区域进行了合并为:新生区,老生区,大对象区,Map 区,Code 区
106
106
You can’t perform that action at this time.
0 commit comments