상세정보
미리보기
모던 자바 인 액션
- 저자
- 라울-게이브리얼 우르마,마리오 푸스코,앨런 마이크로프트 공저/우정은 역
- 출판사
- 한빛미디어
- 출판일
- 2019-09-06
- 등록일
- 2022-06-21
- 파일포맷
- PDF
- 파일크기
- 9MB
- 공급사
- 예스이십사
- 지원기기
-
PC
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴으로 더 명확하고 간결한 코드를 구현할 수도 있다. 이 책은 함수형 언어의 영감을 받아 자바 8, 9, 10에 추가된 람다, 스트림, 함수형 프로그래밍, 자바 모듈 시스템, 병렬화와 공유 가변 데이터, 동작 파라미터화 등의 주요 기능을 자바 개발자에게 알려준다. 수정처럼 투명한 예제와 꼼꼼한 정보 제공으로 여러분의 노력에 보답할 것이다. 이 책은 『자바 8 인 액션』의 개정판으로서 1, 8, 10, 4, 17, 21장은 신규 추가되거나, 그에 준하는 큰 수정이 있었다. 부록을 뺀 나머지 모든 장도 수정 보강되었다.
저자소개
UK의 데이터 과학자와 개발자를 선도하는 교육 커뮤니티인 케임브리지 스파크의 공동 창업자다. 2017년에 자바 챔피언으로 임명되었다. 다수의 스타트업 프로젝트를 포함해 구글, 이베이, 오라클, 골드만삭스 등의 회사와 함께 일했다. 케임브리지 대학교에서 컴퓨터 과학 박사 학위를 마쳤다. 임페리얼 칼리지 런던의 석사 학위를 보유하고 있으며 우등생으로 졸업했고 다수의 기술 혁신 수상 경력이 있다. 국제 컨퍼런스에서 100회 이상의 기술 강연을 했다.
목차
옮긴이·지은이 소개옮긴이의 말지은이의 말이 책에 대하여표지 그림 소개[ PART I 기초 ]CHAPTER 1 자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가?1.1 역사의 흐름은 무엇인가?1.2 왜 아직도 자바는 변화하는가? 1.3 자바 함수1.4 스트림1.5 디폴트 메서드와 자바 모듈1.6 함수형 프로그래밍에서 가져온 다른 유용한 아이디어1.7 마치며CHAPTER 2 동작 파라미터화 코드 전달하기2.1 변화하는 요구사항에 대응하기2.2 동작 파라미터화2.3 복잡한 과정 간소화2.4 실전 예제2.5 마치며CHAPTER 3 람다 표현식3.1 람다란 무엇인가?3.2 어디에, 어떻게 람다를 사용할까?3.3 람다 활용 : 실행 어라운드 패턴3.4 함수형 인터페이스 사용3.5 형식 검사, 형식 추론, 제약3.6 메서드 참조3.7 람다, 메서드 참조 활용하기3.8 람다 표현식을 조합할 수 있는 유용한 메서드3.9 비슷한 수학적 개념3.10 마치며[ PART II 함수형 데이터 처리 ]CHAPTER 4 스트림 소개4.1 스트림이란 무엇인가?4.2 스트림 시작하기4.3 스트림과 컬렉션4.4 스트림 연산4.5 로드맵4.6 마치며CHAPTER 5 스트림 활용5.1 필터링5.2 스트림 슬라이싱5.3 매핑5.4 검색과 매칭5.5 리듀싱5.6 실전 연습5.7 숫자형 스트림5.8 스트림 만들기5.9 마치며CHAPTER 6 스트림으로 데이터 수집6.1 컬렉터란 무엇인가?6.2 리듀싱과 요약6.3 그룹화6.4 분할6.5 Collector 인터페이스6.6 커스텀 컬렉터를 구현해서 성능 개선하기6.7 마치며CHAPTER 7 병렬 데이터 처리와 성능7.1 병렬 스트림7.2 포크/조인 프레임워크7.3 Spliterator 인터페이스7.4 마치며[ PART III 스트림과 람다를 이용한 효과적 프로그래밍 ]CHAPTER 8 컬렉션 API 개선8.1 컬렉션 팩토리8.2 리스트와 집합 처리8.3 맵 처리8.4 개선된 ConcurrentHashMap8.5 마치며CHAPTER 9 리팩터링, 테스팅, 디버깅9.1 가독성과 유연성을 개선하는 리팩터링9.2 람다로 객체지향 디자인 패턴 리팩터링하기9.3 람다 테스팅9.4 디버깅9.5 마치며CHAPTER 10 람다를 이용한 도메인 전용 언어10.1 도메인 전용 언어10.2 최신 자바 API의 작은 DSL10.3 자바로 DSL을 만드는 패턴과 기법10.4 실생활의 자바 8 DSL10.5 마치며[ PART IV 매일 자바와 함께 ]CHAPTER 11 null 대신 Optional 클래스11.1 값이 없는 상황을 어떻게 처리할까?11.2 Optional 클래스 소개11.3 Optional 적용 패턴11.4 Optional을 사용한 실용 예제11.5 마치며CHAPTER 12 새로운 날짜와 시간 API12.1 LocalDate, LocalTime, Instant, Duration, Period 클래스12.2 날짜 조정, 파싱, 포매팅12.3 다양한 시간대와 캘린더 활용 방법12.4 마치며CHAPTER 13 디폴트 메서드13.1 변화하는 API13.2 디폴트 메서드란 무엇인가?13.3 디폴트 메서드 활용 패턴13.4 해석 규칙13.5 마치며CHAPTER 14 자바 모듈 시스템14.1 압력 : 소프트웨어 유추14.2 자바 모듈 시스템을 설계한 이유14.3 자바 모듈 : 큰 그림 14.4 자바 모듈 시스템으로 애플리케이션 개발하기14.5 여러 모듈 활용하기14.6 컴파일과 패키징14.7 자동 모듈14.8 모듈 정의와 구문들14.9 더 큰 예제 그리고 더 배울 수 있는 방법14.10 마치며[ PART V 개선된 자바 동시성 ]CHAPTER 15 CompletableFuture와 리액티브 프로그래밍 컨셉의 기초15.1 동시성을 구현하는 자바 지원의 진화15.2 동기 API와 비동기 API15.3 박스와 채널 모델15.4 CompletableFuture와 콤비네이터를 이용한 동시성15.5 발행-구독 그리고 리액티브 프로그래밍15.6 리액티브 시스템 vs 리액티브 프로그래밍15.7 마치며CHAPTER 16 CompletableFuture : 안정적 비동기 프로그래밍16.1 Future의 단순 활용16.2 비동기 API 구현16.3 비블록 코드 만들기16.4 비동기 작업 파이프라인 만들기16.5 CompletableFuture의 종료에 대응하는 방법16.6 로드맵16.7 마치며CHAPTER 17 리액티브 프로그래밍17.1 리액티브 매니패스토 17.2 리액티브 스트림과 플로 API17.3 리액티브 라이브러리 RxJava 사용하기17.4 마치며PART VI 함수형 프로그래밍과 자바 진화의 미래CHAPTER 18 함수형 관점으로 생각하기18.1 시스템 구현과 유지보수18.2 함수형 프로그래밍이란 무엇인가?18.3 재귀와 반복18.4 마치며CHAPTER 19 함수형 프로그래밍 기법19.1 함수는 모든 곳에 존재한다19.2 영속 자료구조19.3 스트림과 게으른 평가19.4 패턴 매칭19.5 기타 정보19.6 마치며CHAPTER 20 OOP와 FP의 조화 : 자바와 스칼라 비교20.1 스칼라 소개20.2 함수20.3 클래스와 트레이트20.4 마치며CHAPTER 21 결론 그리고 자바의 미래21.1 자바 8의 기능 리뷰21.2 자바 9 모듈 시스템21.3 자바 10 지역 변수형 추론21.4 자바의 미래21.5 더 빠르게 발전하는 자바21.6 결론부록_APPENDIX A 기타 언어 업데이트 _APPENDIX B 기타 라이브러리 업데이트 _APPENDIX C 스트림에 여러 연산 병렬로 실행하기 _APPENDIX D 람다와 JVM 바이트코드