プリミティブフィールドのみがfinalとしてマークされているため、不変であるJavaオブジェクトがあるとします。
これで、いくつかのスレッドが作業を行うためにこのオブジェクトに含まれる情報を必要とするため、1つには2つの選択肢があります。
- 単一のインスタンスへの参照をすべてのスレッドに渡します。
- スレッドごとにオブジェクトのクローン/コピーを作成します。
基本的に、質問はこれに要約されます。たとえば、読み取りがより効率的になるため、JVMはオブジェクトをコピーすることで何らかのメリットが得られますか、それとも問題ではないため、単なるメモリの浪費になりますか?