4

我注意到它StringBuilder由一个数组备份,这使得它分配了一个内存块。我不喜欢这种行为,因为内存高度碎片化,有时很难找到足够大的内存块,这会触发 GC ......

我想知道是否有一个StringBuilder由链表备份的版本,它对内存更友好。

4

1 回答 1

3

首先,我会严重质疑是否需要替代方案:对于大多数用例,实现StringBuilder是完全明智的,并且工作得很好。在你决定之前测量。

如果您确实需要如此庞大的类似对象以至于这成为一个问题,那么像Ropes for Java这样的东西可能会有所帮助:它实际上是一个包含许多不同CharacterSequence实现(具有公共接口Rope)的库,针对不同的交互进行了优化。

于 2012-10-03T11:56:05.670 回答