더 나은 자바 개발자가 되는 법자바는 많은 개발자에게 이미 익숙한 언어다. 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를 극대화하는 방법
● 동시성과 함수형 프로그래밍 사이의 상호작용