Practical 모던 자바 (어려워진 자바, 실무에 자신 있게 적용하기)

Practical 모던 자바 (어려워진 자바, 실무에 자신 있게 적용하기)

$34.00
Description
어렵게만 느껴지던 자바의 신기능을 쉽고 빠르게 익힌다!
자바는 발표된 지 25년이 지났지만 시대의 변화에 맞춰 계속 새로운 기능을 도입하며 발전하고 있다. 특히 자바 8 이후 버전에서는 기존에는 없던 새로운 개념과 기능을 대거 도입했다. 하지만 자바 개발자들은 여전히 자바 6 시절의 개발 지식에 머물러 있는 경우가 많다.
이 책은 자바 6 이후 도입된 새로운 기능을 쉽게 풀어 설명한다. 각 버전별로 추가된 기능을 정리하고 각 기능의 도입 배경과 개념, 활용법, 기능 간의 관계 등을 자세히 다룬다. 실무에서 경험할 수 있는 다양한 상황을 예로 들어 자바의 새로운 기능이 어떤 편리함을 제공할 수 있는지 보여준다. 예제는 최신 LTS 버전인 JDK 11을 기준으로 하고 있어 바로 적용하기에 무리가 없다.
저자

장윤기

1세대자바개발자로1995년JDK베타버전을내려받으며자바와인연을맺었다.정보는서로공유할때가치가커진다고생각하며,이를실천하기위해초창기PC통신자바개발자동호회에서세미나와Q&A를진행하였고이를계기로〈마이크로소프트웨어〉〈프로그램세계〉〈eWeek〉등의잡지에자바를포함한IT관련글을기고했다.지금도각종세미나,소모임등을통해정보를공유하고있다.
집필서로는《Practical자바유틸리티》《허드슨을이용한지속적통합》《서블릿과JSP를이용한자바웹프로그래밍》《JSP고수따라하기》가있다.

목차

1장자바의발전과정
1.1들어가며
1.2자바연대표
1.3자바는죽었나?
1.4자바버전정책의변화
1.5자바버전별새로운기능
-1.5.1자바5
-1.5.2자바6
-1.5.3자바7
-1.5.4자바8
-1.5.5자바9
-1.5.6자바10
-1.5.7자바11
-1.5.8자바12
-1.5.9자바13
-1.5.10자바14
1.6자바버전명명규칙
1.7요약

2장인터페이스와클래스
2.1들어가며
2.2인터페이스사용시문제점
2.3인터페이스의진화
2.4default,static,private메서드
2.5클래스와의차이점과제약조건
2.6다중상속관계
2.7요약

3장함수형프로그래밍
3.1들어가며
3.2여행상품개발
3.3조회조건추가
3.4인터페이스로대응
3.5람다표현식으로코드함축
3.6메서드참조
3.7요약

4장람다와함수형인터페이스
4.1들어가며
4.2람다표현식이필요한이유
4.3람다표현식이해하기
-4.3.1람다표현식으로전환
-4.3.2형식추론
-4.3.3람다표현식과변수
4.4함수형인터페이스기본
-4.4.1Consumer인터페이스
-4.4.2Function인터페이스
-4.4.3Predicate인터페이스
-4.4.4Supplier인터페이스
-4.4.5어떻게쓸것인가?
4.5함수형인터페이스응용
-4.5.1기본형데이터를위한인터페이스
-4.5.2Operator인터페이스
4.6메서드참조
-4.6.1메서드참조란
-4.6.2생성자참조
4.7람다표현식조합
-4.7.1Consumer조합
-4.7.2Predicate조합
-4.7.3Function조합
4.8요약

5장스트림API
5.1들어가며
5.2스트림인터페이스이해
-5.2.1스트림인터페이스
-5.2.2기본형스트림인터페이스
5.3스트림객체생성
-5.3.1스트림객체생성이해
-5.3.2스트림빌더
5.4스트림연산이해
-5.4.1중간연산
-5.4.2최종연산
5.5주요스트림연산상세
-5.5.1데이터필터링
-5.5.2데이터정렬
-5.5.3데이터매핑
-5.5.4데이터반복처리
-5.5.5컬렉션으로변환
5.6기타스트림생성방법
5.7추가스트림연산들
-5.7.1데이터평면화
-5.7.2데이터검색
5.8리듀스연산
-5.8.1합계를구하는방법들
-5.8.2리듀스연산이해
-5.8.3리듀스연산응용
5.9요약

6장병렬프로그래밍
6.1들어가며
6.2컨커런트API
-6.2.1컨커런트API개요
-6.2.2컨커런트API패키지
6.3Executors클래스
-6.3.1Executor인터페이스
-6.3.2ExecutorService인터페이스
-6.3.3ScheduledExecutorService인터페이스
-6.3.4TimeUnit
6.4포크/조인프레임워크
6.5Future와CompletableFuture
6.6스트림병렬처리
-6.6.1스트림병렬처리이해
-6.6.2스레드개수제어
-6.6.3parallel과sequential
6.7분할반복Spliterator
6.8컨커런트컬렉션
6.9기타유용한기능
-6.9.1원자적변수
-6.9.2컨커런트랜덤숫자
6.10요약

7장파일I/O(NIO2.0)
7.1들어가며
7.2개념이해하기
7.3경로이해하기
7.4Path를이용한경로관리
-7.4.1Path생성
-7.4.2Path정보활용
7.5파일관리
-7.5.1Files클래스개요
-7.5.2파일과디렉터리검증
-7.5.3파일과디렉터리복사
-7.5.4파일과디렉터리이동
-7.5.5파일과디렉터리삭제
-7.5.6파일속성정보확인
7.6파일생성,쓰기,읽기
-7.6.1파일열기옵션
-7.6.2Files클래스이용
-7.6.3버퍼입출력이용
-7.6.4스트림I/O
-7.6.5채널과바이트버퍼
-7.6.6일반파일과임시파일생성
7.7랜덤액세스파일
7.8디렉터리처리
-7.8.1디렉터리생성
-7.8.2디렉터리목록조회
-7.8.3목록필터링
-7.8.4루트디렉터리
7.9파일트리
-7.9.1walkFileTree메서드
-7.9.2이전방식
-7.9.3walk와find메서드
7.10디렉터리변경감지
7.11요약

8장날짜와시간
8.1들어가며
8.2이전버전의문제점
-8.2.1멀티스레드에취약
-8.2.2명명규칙
-8.2.3데이터불변성
8.3새로운날짜와시간
8.4날짜
8.5날짜와시간
8.6파싱과포매팅
8.7타임존과오프셋
8.8날짜와시간의차이
8.9Temporal패키지
8.10과거버전과의호환성
8.11요약

9장자바모듈화
9.1들어가며
9.2자바모듈화등장배경
9.3자바모듈화의필요성
-9.3.1캡슐화의문제점
-9.3.2클래스패스의문제점
-9.3.3한정된자원활용
9.4자바모듈화이해
9.5자바모듈생성
-9.5.1모듈이름작성
-9.5.2모듈디렉터리생성
-9.5.3자바코드작성
-9.5.4모듈기술자작성
-9.5.5모듈기반컴파일및실행
9.6자바모듈의존성과접근성
-9.6.1의존성정의(requires)
-9.6.2접근성정의(exports)
-9.6.3특수한java.se모듈
9.7자바모듈서비스
9.8링크와배포
-9.8.1jlink의목표와활용
-9.8.2jlink로이미지만들기
9.9요약

10장JShell도구
10.1들어가며
10.2JShell이란?
10.3코드스니핏
10.4자동완성기능
10.5명령어들
10.6코드스니핏수정
-10.6.1단축키
-10.6.2외부편집기
10.7외부코드활용
10.8요약

11장유용한새기능들
11.1들어가며
11.2예외처리의발전
-11.2.1예외처리기본개념
-11.2.2try문의개선
-11.2.3AutoCloseable인터페이스
-11.2.4catch문의문제점과개선
11.3로컬변수타입추론
11.4반응형스트림FlowAPI
-11.4.1Subscriber
-11.4.2Publisher
-11.4.3Processor
11.5HTTP지원강화
-11.5.1HTTP클라이언트
-11.5.2웹소켓
11.6Optional클래스
-11.6.1Optional클래스개념이해
-11.6.2map과flatMap을이용한연결
-11.6.3기본형Optional클래스
11.7요약

부록A제네릭
A.1들어가며
A.2제네릭기본이해
A.3제네릭과클래스/메서드설계
A.4JVM에서제네릭처리
A.5와일드카드와타입제한
-A.5.1extends를이용한제한
-A.5.2super를이용한제한
A.6제네릭제약조건
A.7다이아몬드연산자

출판사 서평

[이책에서다루는내용]
▶자바버전별변경사항
▶함수형프로그래밍
▶람다표현식
▶스트림API
▶병렬프로그래밍
▶자바모듈화
▶날짜와시간API
▶NIO2.0