이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
지은이·옮긴이 소개 xv옮긴이 머리말 xvii베타리더 후기 xviii추천 서문(하인츠 카부츠) xx시작하며 xxii감사의 글 xxv이 책에 대하여 xxviii표지에 대하여 xxxiiPART I 버전 8에서 11 그리고 그 이후 1CHAPTER 1 모던 자바 소개 31.1 언어와 플랫폼 41.2 새로운 자바 릴리스 모델 61.3 향상된 타입 추론(var 키워드) 101.4 언어 및 플랫폼 변경 151.5 자바 11에서의 작은 변경 사항 20▶ 요약 30CHAPTER 2 자바 모듈 312.1 배경 설명 322.2 기본적인 모듈 구문 412.3 모듈 로드하기 452.4 첫 모듈형 앱 빌드하기 482.5 모듈을 위한 아키텍처 552.6 모듈을 넘어서 64▶ 요약 66CHAPTER 3 자바 17 673.1 Text 블록 673.2 switch 표현식 693.3 record 733.4 sealed 타입 853.5 instanceof의 새로운 형식 913.6 패턴 매칭과 프리뷰 기능 92▶ 요약 96PART II 한 발 더 들어가기 97CHAPTER 4 클래스 파일과 바이트코드 994.1 클래스 로딩과 클래스 객체 1004.2 클래스로더 1054.3 클래스 파일 살펴보기 1174.4 바이트코드 1234.5 리플렉션 138▶ 요약 144CHAPTER 5 자바 동시성 기초 1455.1 동시성 이론 입문 1465.2 디자인 콘셉트 1515.3 블록 구조 동시성(자바 5 이전) 1565.4 자바 메모리 모델 1795.5 바이트코드로 동시성 이해하기 182▶ 요약 205CHAPTER 6 JDK 동시성 라이브러리 2066.1 최신 동시 애플리케이션을 위한 빌딩 블록 2066.2 아토믹 클래스 2076.3 잠금 클래스 2096.4 CountDownLatch 2126.5 ConcurrentHashMap 2146.6 CopyOnWriteArrayList 2256.7 블로킹 큐 2296.8 퓨처 2396.9 작업과 실행 243▶ 요약 251CHAPTER 7 자바 성능 이해하기 2527.1 몇 가지 성능 용어의 기본 정의 2557.2 성능 분석에 대한 실용적인 접근 방식 2587.3 무엇이 문제인지 왜 신경 써야 하는가? 2657.4 자바 성능 튜닝은 왜 어려운가? 2697.5 가비지 컬렉션 2747.6 핫스폿에서의 JIT 컴파일 2847.7 JDK Flight Recorder 291▶ 요약 298PART III JVM에서 자바 외의 언어 299CHAPTER 8 다른 JVM 언어 3018.1 언어 분류학 3028.2 JVM에서의 다중 언어 프로그래밍 3078.3 프로젝트에 비자바 언어를 선택하는 방법 3148.4 JVM이 다른 언어를 지원하는 방법 318▶ 요약 322CHAPTER 9 코틀린 3239.1 코틀린을 사용하는 이유 3249.2 편의성과 간결성 3259.3 클래스와 객체에 대한 다른 시각 3379.4 안전성 3459.5 동시성 3499.6 자바와의 상호 운용성 353▶ 요약 358CHAPTER 10 클로저: 프로그래밍에 대한 다른 관점 35910.1 클로저 소개 36010.2 클로저 찾아보기: 구문 및 의미론 37010.3 함수형 프로그래밍과 closure 38810.4 클로저 시퀀스 소개 39010.5 클로저와 자바 간의 상호 운용성 39710.6 매크로 403▶ 요약 410PART IV 빌드와 디플로이먼트 411CHAPTER 11 그래들과 메이븐을 사용한 빌드 41311.1 기본기가 탄탄한 개발자에게 빌드 도구가 왜 중요한가 41311.2 메이븐 41911.3 그래들 450▶ 요약 481CHAPTER 12 컨테이너에서 자바 실행하기 48212.1 기본기가 튼튼한 개발자에게 컨테이너가 중요한 이유 48312.2 도커 기본 48712.3 도커로 자바 애플리케이션 개발하기 49412.4 쿠버네티스 51012.5 관측 가능성과 성능 519▶ 요약 524CHAPTER 13 테스트 기본 52513.1 테스트하는 이유 52613.2 테스트 방법 52613.3 테스트 주도 개발 53013.4 테스트 더블 53913.5 Junit 4에서 5로 552▶ 요약 559CHAPTER 14 Junit을 넘어선 테스트 56014.1 테스트컨테이너를 이용한 통합 테스트 56014.2 Spek과 코틀린을 사용한 명세 스타일 테스팅 57214.3 클로저를 사용한 속성 기반 테스트 579▶ 요약 594PART V 자바의 새 영역 595CHAPTER 15 고급 함수 프로그래밍 59715.1 함수형 프로그래밍 개념 소개 59815.2 자바의 함수형 프로그래밍 언어로서의 한계 60315.3 코틀린 함수형 프로그래밍 61915.4 클로저 함수형 프로그래밍 637▶ 요약 644CHAPTER 16 고급 동시성 프로그래밍 64516.1 Fork/Join 프레임워크 64616.2 동시성과 함수형 프로그래밍 65316.3 코틀린 코루틴의 내면 들여다보기 66016.4 클로저 동시성 669▶ 요약 685CHAPTER 17 최신 내부 구조 68617.1 JVM 내부 구조 소개: 메서드 호출 68717.2 리플렉션 내부 69417.3 메서드 핸들 70017.4 Invokedynamic 70717.5 내부의 작은 변화들 71317.6 Unsafe 72117.7 지원되는 API로 Unsafe 대체하기 726▶ 요약 731CHAPTER 18 앞으로의 자바 73218.1 프로젝트 앰버 73318.2 프로젝트 파나마 73518.3 프로젝트 룸 74318.4 프로젝트 발할라 75318.5 자바 18 762▶ 요약 763APPENDIX A 자바 선택하기 765A.1 자바는 여전히 무료다 765A.2 자바 SE 8 유지 766A.3 자바 SE 11 받기 766A.4 자바 SE 17(장기 지원 버전) 받기 767A.5 유료 지원 768APPENDIX B 자바 8에서의 스트림에 대한 요약 769B.1 하위 호환성 769B.2 디폴트 메서드 770B.3 스트림 772B.4 컬렉션의 한계 776B.5 무한 스트림 776B.6 원시 타입 다루기 777B.7 병렬 연산? 779찾아보기 781
|
Benjamin J. Evans
벤저민 J. 에번스의 다른 상품
Jason Clark
Martijn Verburg
|
더 나은 자바 개발자가 되는 법자바는 많은 개발자에게 이미 익숙한 언어다. 1995년 썬 마이크로시스템즈에서 개발해 무려 30여 년 동안 사랑받아왔으며, 자바 21까지 출시됐다. 익숙하면 초심을 잊기 마련이다. 지금보다 더 나은 개발자가 되고 싶다면 기본기를 갖춰야 한다. 기본기가 탄탄할수록 변화하는 기술 환경에 잘 적응해 활용하는 개발자가 될 수 있다. 자바에 대한 기본기를 탄탄하게 갖추고 싶고, 6개월이라는 빠른 릴리스 주기와 자바 21이 출시됐음에도 여전히 자바 8을 사용한다는 이유로 새로운 자바를 배우는 것이 쉽지 않았다면 바로 이 책을 선택하자.2012년 《The Well-Grounded Java Developer》의 2판으로, 10여 년 동안 변화해온 자바에 대한 모든 것을 담았다. 자바 7에서 자바 8과 11이 대세로 자리 잡았고, 스칼라는 매우 강력한 JVM 언어가 됐다. 이 책은 흐름에 맞춰 자바 8부터 17까지의 주요 기능과 변화를 체계적으로 설명한다. 람다 표현식, 스트림 API, 모듈 시스템, Text 블록 등 최신 기능들을 실제 코드에 어떻게 적용할 수 있는지를 보여주고, JVM 언어를 폭넓게 탐구한다.총 5부로 구성됐다. 1부에서는 버전 8부터 11까지를 자세히 살펴본다. 자바 17로 업그레이드하는 방법과 함께 자바 11에 포함된 편의성 향상에 대한 내용으로 시작해 자바 8 이후 자바 생태계와 릴리스 주기가 어떻게 변화했는지 알아본다. 특히 완전 모듈 시스템 추가에 대해 자세히 알 수 있어 애플리케이션과 라이브러리에서 활용하는 방법을 알게 될 것이다.2부에서는 JVM이 실제로 어떻게 작동하는지 살펴본다. 자바 개발자는 자바의 동시성 기능에 대해 잘 알고 있어야 하는데, 2부에서 최신 프로세서를 최대한 활용하는 방법을 알려준다. 또한, 성능에 영향을 미치는 JVM의 두 가지 주요 부분인 가비지 컬렉션과 JIT 컴파일러에 대해 집중적으로 다룬다. 3부에서는 JVM에서의 다중 언어 프로그래밍을 다룬다. 함수형 프로그래밍은 자바가 표현한 전형적인 객체지향적 시각에 대한 대안으로 계속해서 주목받고 있는데, 이를 알아보기 위해 코틀린과 클로저를 살펴본다.4부에서는 자바 애플리케이션을 빌드, 테스트, 배포하기 위한 도구를 효과적으로 사용하는 방법에 대해 설명한다. 가장 널리 사용되는 두 가지 자바 빌드 도구인 메이븐과 그래들을 살펴보고, 자바 애플리케이션 환경을 컨테이너에 통합하는 구체적인 방법, 다양한 테스트 접근 방식과 각각의 장단점에 대해 탐구한다. 5부에서는 지금까지의 학습을 기반으로 함수형 프로그래밍, 동시성, 플랫폼 내부에 대해 더 깊게 살펴본다. 부록에서는 자바를 선택하는 방법과 자바 8 스트림과 관련된 함수형 프로그래밍을 간략하게 알아본다.이 책을 통해 새로운 자바 기능을 발견하고, 테스트 중심 개발 및 컨테이너 기반 배포와 같은 필수적인 최신 소프트웨어 기술에 익숙해지는 것은 물론 JVM에서의 비자바 언어를 학습할 수 있다. 기본기가 탄탄한 자바 개발자를 넘어 훌륭한 자바 개발자로 성장하는 데 훌륭한 길잡이가 될 것이다.주요 내용ㆍ 자바 11 및 17의 새로운 기능ㆍ 컨테이너에서 JVM 실행하는 법ㆍ JDK 동시성 라이브러리 사용법ㆍ 코틀린 및 클로저 등 다른 JVM 언어의 중요성ㆍ 메이븐과 그래들로 CI/CD를 극대화하는 방법ㆍ 동시성과 함수형 프로그래밍 사이의 상호작용
|