|private||C||F||M||The scope is the enclosing class. (It is possible to nest one class in another.)|
|(no scope modifier)||C||F||M||Commonly referred to as package-private, the scope is all classes in the enclosing (current) package.|
|protected||F||M||The scope is the enclosing package (just as with package-private) plus any classes that extend the enclosing class.|
|public||C||F||M||The scope is the entire program (all classes).|
|static||C||F||M||The methods or properties become members of the enclosing
|final||C||F||M||L||This modifier means the item can't be modified.
For variables this makes them constants.
|strictfp||M||All floating point operations will be done according to the IEEE Floating-point standard, even if the floating-point hardware in the CPU doesn't meet the standard.|
|volatile||F||Ignore any local cache and fetch (and write) the variable directly from (and to) RAM. Useful in multi-threaded applications.|
|synchronized||M||Used for multi-threading to prevent two threads
from executing the same block of code at the same time.
|transient||F||Used for serialization when objects must be saved
in files (or sent across a network).
|native||M||Used when implementing the JRE methods to allow the JVM to execute non-Java (usually C) code. Any such methods make a program non-portable.|
|The letters in the third column indicate to what the modifier may be applied:|