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

Mal*_*ker 8 java profiling

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

这里发生了什么?我怎样才能减少char[]实例数?

谢谢

Bri*_*new 13

看一下String源代码.字符串对象本身包含一个高速缓存的散列码,字符的数目的计数(再次,对于优化的目的),偏移(因为String.substr()指向原始字符串数据)字符数组,包含实际字符串数据.因此,您的指标显示String消耗相对较少,但大部分内存由基础字符数组占用.