Devin.KR

심화 · 전체 목차 공개

제네릭·동시성·JVM 실무

타입 설계, 스트림, 스레드, JVM과 테스트·배포를 연결합니다.

이 책을 읽기 전에

클래스·인터페이스·예외·컬렉션을 먼저 익히세요.

공개 13/13장 · 목차 구성 2026-09-12

CONTENTS

목차

읽음 표시는 직접 선택하며 자동 완료되지 않습니다.

  1. 01
    자바 제네릭 - 타입 소거 와일드카드 extends super 제네릭 배열이 안 되는 이유

    타입 소거 하나로 제네릭의 제약 대부분을 설명하고, PECS 원칙으로 와일드카드를 고르는 법을 익힌다.

  2. 02
    자바 열거형 enum과 어노테이션 - 상수보다 enum 이 나은 이유

    int 상수의 다섯 가지 문제를 enum 이 어떻게 없애는지 보고, 어노테이션을 직접 정의해 리플렉션으로 읽어본다.

  3. 03
    자바 람다와 스트림 - 함수형 인터페이스 파이프라인 그리고 쓰지 말아야 할 때

    대출 이력 집계를 선언형으로 쓰는 법과 함께, 박싱·checked 예외·병렬 스트림처럼 스트림이 손해인 경우를 짚는다.

  4. 04
    자바 스레드와 동시성 기초 - 경쟁 조건 synchronized volatile 차이

    재고 차감이 깨지는 경쟁 조건을 직접 재현하고, synchronized 가 보장하는 상호 배제와 가시성, volatile 이 못 하는 원자성, 락 객체와 데드락 순서까지 나눠 본다.

  5. 05
    자바 동시성 패키지 - ExecutorService 스레드 풀 CompletableFuture

    Executors 편의 메서드가 만드는 장애부터 ThreadPoolExecutor 큐와 거부 정책 튜닝, 동시성 컬렉션 선택, CompletableFuture 조합과 타임아웃 설계까지 다룬다.

  6. 06
    JVM 메모리와 GC - 힙 구조 G1 ZGC 선택과 OutOfMemoryError 읽는 법

    힙과 힙 밖 영역을 나눠 보고 실제 GC 로그와 힙 덤프로 상태를 읽으며, OutOfMemoryError 다섯 종류와 컨테이너 OOMKilled 를 원인별로 구분해 진단한다.

  7. 07
    자바 리플렉션과 동적 프록시 - 프레임워크 동작 원리와 비용

    미니 ORM 매퍼와 동적 프록시를 직접 만들어 @Transactional 이 동작하는 원리를 밝히고, 리플렉션의 실제 비용과 Java 17 강한 캡슐화의 벽을 측정해 확인한다.

  8. 08
    자바 최신 문법 - record sealed 패턴 매칭 텍스트 블록 가상 스레드

    record 와 sealed 로 가능한 값의 범위를 타입에 못박고, Java 21 패턴 매칭이 분기를 컴파일 검증으로 바꾸는 과정과 가상 스레드의 이득·핀 문제를 실측한다.

  9. 09
    자바 성능 튜닝 - JMH 벤치마크와 병목 찾는 순서

    nanoTime 측정이 왜 5배씩 흔들리는지 실행 결과로 보고, JMH 의 Score 와 Error 를 해석하는 법과 실무 병목을 전체 대비 비중으로 고르는 순서를 익힌다.

  10. 10
    자바 테스트 - JUnit 5 단위 통합 구분과 테스트하기 좋은 설계

    Clock 주입과 포트 인터페이스로 테스트 가능한 구조를 만들고, JUnit 5 로 주문 도메인을 검증하면서 단위와 통합 테스트를 실행 비용 기준으로 나눈다.

  11. 11
    자바 빌드와 배포 - Maven 의존성 관리와 실행 가능 jar 만들기

    GAV 좌표와 스코프, 전이 의존성 충돌 해결부터 의존성을 담은 실행 가능 jar 와 GC·인코딩 실행 옵션 표준화까지 재현 가능한 배포 산출물을 만든다.

  12. 12
    Effective Java 실무 원칙: 컬렉션을 받은 객체의 상태 지키기

    record의 final 참조만으로 불변성을 얻을 수 없는 이유를 재현하고 List.copyOf로 입력 경계의 소유권을 분리한다.

  13. 13
    Java 실무: 할인 금액은 언제 반올림해야 할까

    BigDecimal로 주문 금액을 계산하며 항목별 반올림과 합계 반올림의 차이를 직접 확인하고 금액 입력과 비교 규칙을 정한다.

이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.

이 책·표지의 저작권 및 출처 관련 요청