java - 由链表备份的 StringBuilder

标签 java stringbuilder

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

我想知道是否有一个版本的 StringBuilder 由链表支持,这将更加内存友好。

最佳答案

首先,我会认真质疑替代方案的必要性:对于大多数用例,StringBuilder 的实现非常明智并且工作正常。先衡量再做决定。

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

关于java - 由链表备份的 StringBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12707894/

相关文章:

java - .Net 等同于 Java 类型的 Class<>?

java - 将 Map 对象存储在另一个 Map 中

php - 如何在不连接数据库的情况下创建 MySQL 准备语句字符串

java - 既然我们已经有了 StringBuilder,为什么还要使用 StringJoiner?

java - JXL 尝试在设置背景颜色时修改引用格式

java - ImageView 在折叠工具栏中消失

java - Android Eclipse - 找不到 *.apk

android - StringBuilder 追加字符串中断 UTF 8

c# - 如何在 StringBuilder 上添加 CheckBoxList 项用于 Linq

java - Spring Controller 是线程安全的吗?