StringBufferのとStringBuilderの文字列の最適化

最後といえば、文字列の文字型から最高派生し、原理はCHAR []によって実現されます私たちは、それがそうするので、文字列のスプライシングが新しいで行われるたびに新しい文字列を追加し、一度配列を作成して変更することはできません知っているJDK1.0で大幅にメモリを消費することはStringBufferの最適化を表示されるようになったオブジェクトを作成しますヒープメモリの形でさせるためにそうに保存されている彼の効率が高すぎない率いるロックするには重量ロック(同期)によるの多くを追加するStringBufferの安全性を確保 JDK1.5と新しいの誕生後、文字列の最適化効率を向上させるために重量ロック(同期)の多くをキャンセルしますが、スレッドセーフにつながったのStringBuilder使用状況を見てください

StringBufferの

JDK1.0生まれたStringBuffer、それがさの文字列を継ぐ小さなメモリ消費量を、内部のappend()メソッドを提供します。データが到達したときに一定量の膨張をトリガします。各拡張16 * 2 + 2意志長の初期容量誰かがそこ初期容量が0に設定されている場合ので、2つのプラスは、常に0が2プラス初期容量が設定されていない理由を求められることがあります。効率が比較的低くなるようにスプライシングプロセスは、ストリングロック(同期)の両方の重量毎に実行されます

StringBuilder

JDK1.5の出生のStringBuilder、彼と操作のStringBufferのは同じであるが、後のロックの重量減少の効率を改善したが、それはまた、ビジネスニーズのバッファやビルダーを使用することを選択見て危険なスレッドにつながります。

おすすめ

転載: www.cnblogs.com/wanghaozi/p/11577021.html