Schabby's Blog
Reserve Orbital Defence Commander

StringBuilder und StringBuffer dienen beide dem selben Zweck, nämlich um lange Strings zusammenzubauen, ohne dass bei jedem Konkatinierungsschritt ein neuer String instanziert werden muss (Vermeidung des new Operators).

Der Unterschied zwischen StringBuffer und StringBuilder ist, dass StringBuilder unsychronisiert ist wohingegen StringBuffer synchronisiert ist. Das heisst, dass StringBuffer selbst sicherstellt, dass niemals ein parallel laufender Thread die Daten im StringBuffer inkonsistent macht. Das erkauft man sich aber mit leichten Performanceeinbußen, sodass es sich lohnt StringBuilder zu verwenden wenn man weiss, dass nur ein Thread auf die StringBufferinstanz zugreifen wird.


4 Antworten

  1. Barsack says:

    Vielen Dank, hat mir weitergeholfen!

  2. Vor einigen Jahren in der Java Zertifizierung hätte ich das noch gewusst. Danke für den Memory Recall :-)

  3. Eigentlich ja Basiswissen - aber ich muss es auch immer wieder googlen. Danke für die Post!

  4. linh says:

    Der initiale Kapazität auf tatsächliche benötigte Größe sollte festgelegt werden. Denn kann die Größenanpassung des Konstantenpuffers zu Performanceproblemen führen.

Post Comment

Please notice: Comments are moderated by an Admin.