StringBuilder
配列によってバックアップされていることに気付きました。これにより、単一のメモリ ブロックが割り当てられます。メモリが非常に断片化されており、GC をトリガーする十分な大きさのメモリ ブロックを見つけるのが難しい場合があるため、私はその動作が好きではありません...
StringBuilder
リンクされたリストによってバックアップされた、よりメモリに優しいバージョンがあるのではないかと思います。
StringBuilder
配列によってバックアップされていることに気付きました。これにより、単一のメモリ ブロックが割り当てられます。メモリが非常に断片化されており、GC をトリガーする十分な大きさのメモリ ブロックを見つけるのが難しい場合があるため、私はその動作が好きではありません...
StringBuilder
リンクされたリストによってバックアップされた、よりメモリに優しいバージョンがあるのではないかと思います。
まず第一に、代替案の必要性について真剣に疑問を呈します。ほとんどのユースケースでは、 の実装StringBuilder
は完全に賢明であり、問題なく機能します。決める前に測定してください。
これが問題になるほど巨大なサイズの同様のオブジェクトが実際に必要な場合は、Ropes for Java のようなものが役立つかもしれません。これは事実上、さまざまな相互作用に最適化された多くの異なるCharacterSequence
実装 (共通のインターフェイスを持つ)のライブラリです。Rope