高度な Java コレクション API には、CopyOnWriteArrayList と ConcurrentHashMap があります。しかし、これらのデータ構造の根底にある原則は異なります。つまり、ConcurrentHashMap は、書き込み操作が行われている Map のセグメントのみをロックします。これにより、パフォーマンスに影響を与えずに同期の問題を回避できます。
一方、CopyOnWriteArrayList は、元の List の複製を作成することにより、同時実行の問題を防ぎます。なぜこれらの実装は非常に異なるのでしょうか? Java は、どちらがより適切に機能するかを確認するためのテストにすぎませんか?