클라이언트가 create, index or delete 요청을 예를 들어, node 1 에 보낸다.도큐먼트 id를 통해서 어떤 shard 에 있는지 파악. 해당 shard의 primary shard가 있는 노드에 해당 요청 전송. 해당하는 shard가 각 replica
열거 타입 자체는 클래스. 상수 하나당 자신의 인스턴스를 하나씩 생성 public static final 필드로 공개. 사실상 final외부 생성자를 제공하지않기 때문에, 딱 하나만 존재한다는 것이 보장된다. Comparable Serializable 구현.enum 타
컨테이너 대신 키를 매개변수화한 다음, 컨테이너에 값을 넣거나 뺄 때 매개변수화한 키를 함께 제공type token : 컴파일타임 타입 정보와 런타임 타입 정보를 알아내기 위해 메서드들이 주고 받는 class 리터럴getFavorite 는 처음에 Map 에서 Class
가변인수 메소드를 호출하면 가변인수를 담기 위한 배열이 생성된다. 매개변수화 타입의 변수가 타입이 다른 객체를 참조하면 힙 오염이 발생한다. 컴파일러는 단순히 경고를 던지고, 실행시 castException이 발생한다. 이처럼 타입 안정성이 깨지니 제너릭 배열 매개변수
Exception handling coroutine이 exception을 받게 되면, coroutine 스스로 parent를 취소하고, children에게 전파한다. children 에서 exception 발생 parent로 전파, parent 취소 parent의
1. DNS 조회를 최적화 DNS 조회는 호스트와 연결이 수립되기 전에 이루어져야 한다. DNS의 고정적인 오버헤드를 최소화해야 한다. 고유한 도메인/호스트 이름의 수를 제한한다. 조회 지연 시간을 줄인다. 초기 응답에 대해 DNS 프리패치를 활용한다. 2. TCP