인스턴스 변수를 초기화하는 이 관용구를 꽤 많이 봅니다. public class Test{ private Long l = 1l; private MyClass mc = new MyClass(); public Test(){} ... } 하지만 난 더 좋아할거야 public class Test{ private Long l; private MyClass mc; public Test(){ l = 1l; mc = new MyClass(); } ... } 이것이 최종 변수가 아니라는 점을 고려할 때 두 가지 접근 방식이 동일하거나 스레드 안전성 측면에서 하나가 다른 것보다 "더" 정확합니까? 변수는 클래스 변수가 아니라 인스턴스 변수이므로 두 방법 중 하나를 사용하여 초기화하는 동안 스레드 안전 문제가 없습니다.
Java 표준 권장 모범 사례가 있다면 다른 사람들도 동의할 것이라고 확신합니다. 스레드 안전성 측면에서는 동일합니다.
둘 다 동일한 지침을 실행해야 하며 두 번째를 선호하는 경우(기본...
#
java
#
thread-safety
원문 링크 : 인스턴스 변수 초기화의 스레드 안전성