【发布时间】:2021-08-15 06:15:00
【问题描述】:
我正在尝试计算 v8 中字符串的内存使用情况,我知道单个字符需要 2 个字节。但是当我在 devtools 中检查浅层大小和保留大小时,我对结果感到困惑:
function Student() {
this.name = 'lll';
}
var a = new Student();
var b = new String("ccccc");
浅层大小和保留大小都是 16 字节。为什么?
正如我想象的那样,浅层大小和保留大小将相等,并且值将是 6 个字节。如果我将字符串从“llll”更改为“llll”,该值将增加 2 个字节。但它保持与以下相同:
谁能给我解释一下?
【问题讨论】:
-
yourkit.com/docs/java/help/sizes.jsp 这篇文章可能对你有帮助
-
@Dpk ... java 不是 javascript
-
用更长的字符串做更多的测试,也许一个字符串总是存储在16字节的倍数中
-
@Bravo 我知道我只是想帮助理解术语浅尺寸和保留尺寸
标签: javascript memory v8