スレッドセーフの違い:
StringBufferのは、スレッドセーフである、StringBuilderのスレッドが安全ではないです。すべての公共StringBufferのメソッドが同期化を修正するために使用されるため、StringBuilderのは変更と同期されません。以下の図は、実施例を追加に追加のStringBuffer方法とStringBuilderの方法を使用します。
StringBufferのコードフラグメント:
StringBuilderのコードフラグメント:
2差分バッファ:
StringBuffer每次toString都会直接使用toStringCache值来构造一个字符串,而StringBuilder则每次都需要复制一次字节数组,再构造一个字符串。
3パフォーマンスの違い:
StringBuffer是线程安全的,所有方法都是同步的,StringBuilder是没有对方法加锁同步的,所以StringBuilder的性能要远大于StringBuffer
要約:
在使用场景为多线程时使用StringBuffer,如果是单线程则使用StringBuilder。