...
Fields declared static final
are also safe for multithreaded use (see TSM03-J. Do not publish partially initialized objects.) However, remember that simply changing the modifier to final
may not prevent attackers from indirectly retrieving an incorrect value from the static
final
variable before its initialization (see DCL12-J. Prevent class initialization cycles for more information.) Furthermore, individual members of the referenced object can also be changed if the object itself is mutable (see OBJ01OBJ02-J. Never conflate immutability of a reference with that of the referenced object.)
...