Serializable
객체가 파일에서 rehydrate
를 할 때readObject
메서드는 특별히 다뤄줘야합니다.
readObject
에 의해 만들어지는 객체는 메소드를 호출한 스레드에서만 가시성이 생깁니다.
결과적으로 synchronized
키워드는 필요하지 않습니다.
그리고 synchronized
을 사용하는 것은 혼란스럽기만 합니다.
이 메서드는 리팩토링되야합니다.
규칙을 어긴 코드
private synchronized void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException { // 규칙을 어긴 코드
//...
}
규칙을 준수한 해결책
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException { // 규칙을 준수한 해결책
//...
}
If you like SONARKUBE, don’t forget to give me a star.