【发布时间】:2020-03-24 18:15:09
【问题描述】:
假设 V8 上下文。
假设 Number 类型的元素大小为 4 个字节。
现在,如果我有一个数组,
let a = [1,2,3,4,5];
从逻辑上讲,每个元素的block的起始地址应该是1000,1004,1008,1012,1016
现在,假设我们有一个需要 10 个字节的字符串 TestString,我会这样做:
a[2] = 'TestString';
这样数组就变成了[1,2,'TestString',4,5]。
JS如何处理TestString的内存分配和数组中block的地址空间管理?
【问题讨论】:
-
数组不一定是数组。 V8 为此使用了各种内部表示。
标签: javascript node.js memory memory-management v8