콘텐츠로 이동

Java 학습 경로 T5 — 심화·워크북·종합

이 트랙의 목표: T1~T4를 마친 뒤 빈틈을 메우고 실전으로 굳힙니다. JVM이 코드를 어떻게 돌리는지(메모리·GC·튜닝), 컴퓨팅·네트워크 기초, 면접 대비, Git, 그리고 가장 큰 가치인 종합 토이프로젝트로 배운 걸 한 데 모읍니다.

선수 트랙: guide-java-track4-spring-web. (마지막 트랙)

이 트랙은 src-java-study-2024-2025의 ch10(JVM과 성능)·ch11(부록, 11.90 JVM 워크북 포함)을 재구성한 것입니다. 실제 학습·실습은 챕터 레슨에서 따라 합니다 → java-study-ch10 · java-study-ch11.

이 페이지는 코스 안내입니다(흐름·핵심·미니프로젝트·이론 팁). 코드와 상세 설명은 위 챕터 레슨을 펴고 따라 하면 됩니다.


📚 학습 순서

① JVM과 성능 (ch10) — 순서대로

순서 문서 한 줄
10.0 JVM 개념과 구성 원리 클래스 로딩 → 실행 엔진 → GC (→ entity-jvm)
10.1 메모리 관리 힙·스택·메서드 영역, 객체가 사는 곳
10.2 튜닝과 실전 활용 GC 로그 읽기, 힙 사이즈 판단

② 부록·워크북 (ch11) — 필요한 것만 골라서

부록은 순차 학습이 아니라 참고·보강용입니다. 약한 곳을 골라 채웁니다.

A. 기초 토대 보강

순서 문서 언제 보나
11.1 / 11.2 / 11.3 리소스·컴퓨팅 구조·네트워크 구조 "왜 그렇게 도나"가 궁금할 때
11.4 개발자 기본 지식 입문 단계 토대
11.16 스레드와 동기화 기초 동시성이 처음일 때
11.11 / 11.12 DBMS·트랜잭션·시스템 카탈로그 T4 DB를 더 깊이

B. 워크북·심화

순서 문서 한 줄
11.90 JVM 워크북: 연습 문제와 프로젝트 ①의 JVM을 문제로 굳히기 (→ entity-jvm)
11.21 JSP 기본 개념 레거시 웹 이해

C. 취업·협업 실무

순서 문서 한 줄
11.13 / 11.14 기술면접·Java 면접 질문 개념을 말로 설명하는 연습
11.15 / 11.18 Git 기초·GitHub 작업 순서 협업의 기본기
11.17 포트폴리오 예제 결과물 정리

🧩 핵심 개념 한눈에

개념 한 줄 정의 자주 하는 실수
GC 도달 불가 객체 자동 회수 "GC가 다 해주니 메모리 신경 끔"
힙 vs 스택 객체가 사는 곳 vs 호출 프레임이 쌓이는 곳 지역 변수 참조와 객체 자체를 혼동
프로세스 vs 스레드 자원 단위 vs 실행 단위 공유 자원 동기화 누락
트랜잭션 격리 동시 접근의 일관성 수준 격리 수준 기본값 방치
Git 브랜치 독립된 작업 라인 main 직접 커밋
포트폴리오 "무엇을 왜 어떻게"의 증거 코드만 올리고 설명 없음

💡 이론·방법론 연결 (팁)

💡 성능 — "왜 느린가"는 JVM에서 답이 나온다 ch10의 GC·메모리를 알면 "객체를 너무 많이 만든다" 같은 원인을 데이터로 짚을 수 있습니다. → 자세히: entity-jvm · concept-db-connection-pool (풀로 객체 재사용)

💡 면접 — "설명할 수 있어야 안다" 11.13·11.14는 암기가 아니라, T1~T4 개념을 한 문장으로 말하는 연습입니다. 위키의 다른 개념 페이지와 짝지어 보세요. → 자세히: concept-oop · concept-spring-core · entity-jvm

💡 협업 — Git은 안전망 11.15·11.18을 익히면 트랙 마무리 과제를 브랜치+PR로 안전하게 진행합니다. 하네스의 "거부 신호"와 같은 맥락입니다. → 자세히: guide-harness-module3 (guard.sh로 main 직접 push 차단)

💡 품질 — 워크북은 리팩터링 연습장 11.90 JVM 워크북·실전문제는 "동작하는 코드 → 더 나은 코드"를 반복하는 장입니다. 악취를 찾아 고치는 눈을 기릅니다. → 자세히: entity-refactoring · guide-code-authoring-and-review


🧪 트랙 마무리 — 과제 3. 견적·계약 업무

T1~T4를 모두 동원하는 종합 과제로, guide-java-practice-layered-quotation에서 4계층 아키텍처와 Command/Query 분리를 MyBatis로 구현합니다. 물품·견적 업무 규칙을 도메인에 두고, 계층 의존 방향을 ArchUnit 테스트로 자동 검사합니다. 11.15·11.18의 Git 브랜치·작은 커밋 습관을 이 과제에 그대로 적용합니다.

보충 연습 (포트폴리오용 토이프로젝트, 하나를 골라 끝까지):

  • 11.25 / 11.23 블로그 작성하기 — Java/JSP(Model 1) CRUD로 웹의 전 과정 → java-study-ch11
  • 11.19 온라인 게임 토이 프로젝트 — 객체 협력·파일/네트워크·동시성 종합 → java-study-ch11
  • 11.26 메모 앱 — T2 버전을 저장·검색·테스트 가능 구조로 확장 → java-study-ch11

✅ 트랙 정리 체크리스트

  • 힙·스택·메서드 영역에 무엇이 사는지 압니다
  • GC 로그에서 "객체를 너무 많이 만드는" 신호를 읽을 수 있습니다
  • 약한 기초(스레드·DB·네트워크)를 한 곳 이상 보강했습니다
  • 면접 질문 10개를 내 말로 설명할 수 있습니다
  • Git 브랜치+PR로 작업합니다
  • 🧪 과제 3을 완성하고 계층 의존 테스트(ArchUnit)를 통과시켰습니다
  • 완성물을 포트폴리오로 정리했습니다

→ 전체 학습 경로 완주! 다시 보려면 guide-java-learning-path.


관련 페이지