由链表支持的 StringBuilder

mil*_*lan 5 java stringbuilder

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

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

Joa*_*uer 3

首先,我严重质疑是否需要替代方案:对于大多数用例来说,实现StringBuilder是完全合理的并且工作得很好。在做出决定之前先衡量一下。

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