書込み保護フィールド(write protected field)
Java講座 用語集
索引へ戻る
Java講座のページ
書込み保護フィールド(write protected field)
final属性であるにも関わらず、更新が可能な
フィールド
のこと。
コンパイラは書込み保護フィールドを、他のfinal
フィールド
とは区別して扱う。たとえば、通常のfinal
フィールド
の読み込みは同期化を受け付けないようになっている。つまり、ロックや揮発的な読み込みが関与する境界は、finalフィールドから読み込まれる値に影響を与えなくてもよい。一方、書き込み保護フィールドの値は、変更が観測されることを許されているため、同期化イベントはこれに影響を与えることとなる。
具体例が、歴史的な経緯によってfinal static属性となっているSystem.in、System.out、System.errの各フィールドである。これらは、System.setIn、System.setOut、System.setErrメソッドによって更新されることが許される。
□
索引へ戻る