InetAddress.getByName

호스트 네임으로부터 IP 주소를 가져온다.

캐시

DNS lookup은 상대적으로 비용이 많이 드는 작업이다. 그래서 InetAddres 클래스는 DNS 조회 결과를 캐시한다. 그래서 동일 주소에 대한 다음 요청시에는 캐시된 데이터를 사용한다.

실행 중인 동안 호스트의 IP가 변경된다면 종종 문제 발생할 수 있다. 또한 DNS 조회에 실패한 쿼리도 10초 동안 캐시를 한다.

networkaddress.cache.ttl

성공한 DNS 쿼리에 대해 자바가 캐시를 보관할 시간 (단위: 초)

networkaddress.cache.negative.ttl

실패한 DNS 쿼리에 대해 자바가 캐시를 보관할 시간 (단위: 초)

equals / hashCode

equals 메서드는 전달된 객체가 InetAddress 객체이고 같은 IP 주소를 가리키고 있으면 true를 반환한다. 그러나 호스트네임까지 같을 필요는 없다. 따라서 호스트네임은 다르지만 같은 IP 주소를 가리키고 있다면 true를 반환한다.

hashCode 메서드는 IP 주소로부터 계산된 해쉬코드 int 값을 반환하며 호스트네임은 해쉬코드 계산에 사용되지 않는다.