レスどうもです。

結局なにが聞きたいのかというと、

「排他をクラス内でやっている」か「自分でsynchronizedする」かを判断する材料は何か?

ということです。(String,StringBufferは例えです)

「クラス内でやっている」とも「クラス外でやれ」とも書かれていないオブジェクトをスレッド共有する場合
やはりソースを見ないと判断してはいけないのでしょうか?