文字列、StringBufferの和のStringBuilder

文字列、それぞれのStringBufferとStringBuilderのは、どのような状況?下で使用されなければならない
文字列を、本質的にストレージのchar型であるJava文字列クラス、ですが、属性をハッシュに加えて、他の属性は、最終的なタイプのために宣言されています。

不変性を生成し、この操作なので、以下のような利点をもたらします:

  1. Stringデータストレージ、多くの場合、ハッシュ関数を実行するために使用しているため、最終ハッシュ値が変更されていない設定することが可能です。

  2. ベースフライ級を含む最終的なタイプに設定されていない場合は、次にフライ級機構を使用することができません。

  3. Stringパラメータ不変性は、本質的にあなたがスレッドロックを追加することなく、複数のスレッドで安全に使用することができ、スレッドセーフもたらします。


しかし、上記の利便性だけなのでいくつかのことを犠牲に、しかし、大人として、私は必ず選択してくださいする必要があり、その後のStringBufferとStringBuilderのを作り出しました。

StringBuilder StringBufferの多くの問題の中間オブジェクト、提供されるクラスを解決する文字列の連結その多量に生成します。

しかし、なぜ、それを2つ持っていますか?

それでもスレッドの問題は、StringBuilderのプラスねじロックは、我々は唯一のStringBufferを使用するマルチスレッドとシングルスレッドの場合の場合に安全に使用することができる作るので、スレッドより高いパフォーマンスをロックしません。

おすすめ

転載: www.cnblogs.com/A-FM/p/10928914.html