static 필드에 대한 액세스를 보고합니다.
인스턴스 메서드 또는 비동기 블록에서 static 필드에 액세스할 경우 여러 스레드가 해당 필드에 액세스할 수 있습니다.
이때 예외나 잘못된 결과와 같이 불명확한 부수 효과가 발생할 수 있습니다.
예:
class Sample {
private static final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String method() {
return df.format("");
}
}
스레드 안전한 것으로 간주할 타입을 지정할 수 있습니다. 해당 타입에는 스레드 안전한 하위 클래스가 있을 수 있으므로, 정확히 해당 타입이 포함된 필드 또는 정확히 해당 타입으로 초기화된 필드만 보고됩니다.