キーワード (Java)
インスタンス変数を持つことができる
abstract class はそのままではインスタンス化できず、不足しているメソッドを実装した派生クラスを用意して使用する。
記述例:
native メソッドがJava言語以外で実装されていることを宣言する(Java Native Interfaceを参照)。
synchronized メソッドの宣言や特定のブロックに付けられ、排他制御を指示する。同一オブジェクトが複数のオブジェクトから参照され、異なるスレッドで同時に処理を行っている場合でも、この修飾子があるブロックでは処理を行えるスレッドはただ1つしか存在しない。
記述例1:
記述例2:
記述例3:
volatile フィールドの宣言に付けられ、キャッシュを見に行かずに常に最新の値を見に行くようになる。マルチスレッド下における軽量かつ限定的な同期処理に使われる。
例:
transient フィールドの宣言につけられる。Javaにはオブジェクトをそのままネットワークに送信したりファイルなどに保存したりするためのシリアライズと呼ばれる機能があり、transient は対象フィールドがシリアライズの対象にならないことを指示する。スレッドオブジェクトなど、保存できないフィールドや保存されると不都合なフィールドに対して使用される。