책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9788966262755
· 쪽수 : 528쪽
· 출판일 : 2020-09-21
책 소개
목차
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.4 default, 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.1 Consumer 인터페이스
-4.4.2 Function 인터페이스
-4.4.3 Predicate 인터페이스
-4.4.4 Supplier 인터페이스
-4.4.5 어떻게 쓸 것인가?
4.5 함수형 인터페이스 응용
-4.5.1 기본형 데이터를 위한 인터페이스
-4.5.2 Operator 인터페이스
4.6 메서드 참조
-4.6.1 메서드 참조란
-4.6.2 생성자 참조
4.7 람다 표현식 조합
-4.7.1 Consumer 조합
-4.7.2 Predicate 조합
-4.7.3 Function 조합
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.3 Executors 클래스
-6.3.1 Executor 인터페이스
-6.3.2 ExecutorService 인터페이스
-6.3.3 ScheduledExecutorService 인터페이스
-6.3.4 TimeUnit
6.4 포크/조인 프레임워크
6.5 Future와 CompletableFuture
6.6 스트림 병렬 처리
-6.6.1 스트림 병렬 처리 이해
-6.6.2 스레드 개수 제어
-6.6.3 parallel과 sequential
6.7 분할 반복 Spliterator
6.8 컨커런트 컬렉션
6.9 기타 유용한 기능
-6.9.1 원자적 변수
-6.9.2 컨커런트 랜덤 숫자
6.10 요약
7장 파일 I/O(NIO 2.0)
7.1 들어가며
7.2 개념 이해하기
7.3 경로 이해하기
7.4 Path를 이용한 경로 관리
-7.4.1 Path 생성
-7.4.2 Path 정보 활용
7.5 파일 관리
-7.5.1 Files 클래스 개요
-7.5.2 파일과 디렉터리 검증
-7.5.3 파일과 디렉터리 복사
-7.5.4 파일과 디렉터리 이동
-7.5.5 파일과 디렉터리 삭제
-7.5.6 파일 속성 정보 확인
7.6 파일 생성, 쓰기, 읽기
-7.6.1 파일 열기 옵션
-7.6.2 Files 클래스 이용
-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.1 walkFileTree 메서드
-7.9.2 이전 방식
-7.9.3 walk와 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.9 Temporal 패키지
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.1 jlink의 목표와 활용
-9.8.2 jlink로 이미지 만들기
9.9 요약
10장 JShell 도구
10.1 들어가며
10.2 JShell이란?
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.2 try 문의 개선
-11.2.3 AutoCloseable 인터페이스
-11.2.4 catch 문의 문제점과 개선
11.3 로컬 변수 타입 추론
11.4 반응형 스트림 Flow API
-11.4.1 Subscriber
-11.4.2 Publisher
-11.4.3 Processor
11.5 HTTP 지원 강화
-11.5.1 HTTP 클라이언트
-11.5.2 웹소켓
11.6 Optional 클래스
-11.6.1 Optional 클래스 개념 이해
-11.6.2 map과 flatMap을 이용한 연결
-11.6.3 기본형 Optional 클래스
11.7 요약
부록A 제네릭
A.1 들어가며
A.2 제네릭 기본 이해
A.3 제네릭과 클래스/메서드 설계
A.4 JVM에서 제네릭 처리
A.5 와일드카드와 타입 제한
-A.5.1 extends를 이용한 제한
-A.5.2 super를 이용한 제한
A.6 제네릭 제약 조건
A.7 다이아몬드 연산자