InetAddress 기본 개념과 활용 가이드

java-icon
2026. 02. 24.·Java

InetAddress는 자바에서 호스트 이름과 IP(IPv4/IPv6)를 표현하고 DNS 해석을 수행하는 핵심 클래스다. getByName/getAllByName은 블로킹과 JVM DNS 캐시, IPv6 우선순위 영향을 받는다. 역조회는 지연을 유발할 수 있어 주의하며, SSRF 방어 등 신뢰 경계 설계가 중요하다.

스레드의 생명주기와 제어 (Lifecycle, join, interrupt)

java-icon
2026. 01. 27.·Java

자바 스레드는 New, Runnable, Terminated 외에도 Lock 획득을 대기하는 Blocked, 신호를 기다리는 Waiting 등 다양한 상태를 가집니다. 개발자는 join()으로 작업 순서를 맞추거나, interrupt()로 안전하게 중단 요청을 보낼 수 있습니다. 스레드의 상태 흐름과 제어 기법을 이해하는 것은 동시성 프로그래밍의 기초입니다.

프로세스와 스레드, 자바 메모리 구조

java-icon
2026. 01. 27.·Java

멀티태스킹은 CPU 시간을 쪼개어 동시성을 흉내 내는 기술이며, 실제 병렬 처리는 멀티프로세싱입니다. 프로세스는 독립된 메모리를 갖는 ‘공장’, 스레드는 스택만 독립적으로 갖고 힙을 공유하는 ‘일꾼’입니다. JVM 메모리 중 스레드끼리 공유하는 Heap 영역은 동시성 문제의 원인이 되기도 합니다. 유연한 확장을 위해 스레드 구현 시 Runnable 인터페이스 사용을 권장합니다.