gpt4 book ai didi

java - 为什么探查器在我没有创建任何 char[] 实例时显示大量实例?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:31 26 4
gpt4 key购买 nike

我正在运行递归操作的 NetBeans 配置文件,其中包括创建一个带有 java.lang.String 字段的类。在类列表中,在配置文件堆转储中,字符串字段的数量对应于按预期创建的类的数量,但是也有类似数量的 char[] 实例。 char 数组占内存使用量的近 70%(!),而 String 字段占大约 7%。

这是怎么回事?我怎样才能减少 char[] 实例的数量?

谢谢

最佳答案

看看 String source code . String 对象本身包含缓存的哈希码、字符数(同样,出于优化目的)、偏移量(因为 String.substr() 指向原始字符串数据)< em> 和 字符数组,其中包含实际的字符串数据。因此,您的指标显示 String 消耗相对较少,但大部分内存都被底层字符数组占用。

关于java - 为什么探查器在我没有创建任何 char[] 实例时显示大量实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1985480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com