logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

기본기가 탄탄한 자바 개발자

기본기가 탄탄한 자바 개발자

(모던 자바의 새로운 기능을 배우고 자바 전문가가 되는 법, 제2판)

벤저민 J. 에번스, 제이슨 클라크, 마르테인 페르뷔르흐 (지은이), 김성원 (옮긴이)
제이펍
45,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
40,500원 -10% 0원
2,250원
38,250원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
aladin 31,500원 -10% 1570원 26,780원 >

책 이미지

기본기가 탄탄한 자바 개발자
eBook 미리보기

책 정보

· 제목 : 기본기가 탄탄한 자바 개발자 (모던 자바의 새로운 기능을 배우고 자바 전문가가 되는 법, 제2판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9791193926277
· 쪽수 : 828쪽
· 출판일 : 2024-08-14

책 소개

자바는 엔터프라이즈 소프트웨어 엔지니어링의 핵심이다. 훌륭한 자바 개발자가 되기 위해선 기본기를 갖춰야 한다. 이 책은 자바 8 이후 자바 생태계와 릴리스 주기가 어떻게 변화했는지 살펴보며, 특히 자바 11 및 17에 추가된 새로운 기능을 설명한다.

목차

지은이·옮긴이 소개 xv
옮긴이 머리말 xvii
베타리더 후기 xviii
추천 서문(하인츠 카부츠) xx
시작하며 xxii
감사의 글 xxv
이 책에 대하여 xxviii
표지에 대하여 xxxii

PART I 버전 8에서 11 그리고 그 이후 1
CHAPTER 1 모던 자바 소개 3
1.1 언어와 플랫폼 4
1.2 새로운 자바 릴리스 모델 6
1.3 향상된 타입 추론(var 키워드) 10
1.4 언어 및 플랫폼 변경 15
1.5 자바 11에서의 작은 변경 사항 20
▶ 요약 30

CHAPTER 2 자바 모듈 31
2.1 배경 설명 32
2.2 기본적인 모듈 구문 41
2.3 모듈 로드하기 45
2.4 첫 모듈형 앱 빌드하기 48
2.5 모듈을 위한 아키텍처 55
2.6 모듈을 넘어서 64
▶ 요약 66

CHAPTER 3 자바 17 67
3.1 Text 블록 67
3.2 switch 표현식 69
3.3 record 73
3.4 sealed 타입 85
3.5 instanceof의 새로운 형식 91
3.6 패턴 매칭과 프리뷰 기능 92
▶ 요약 96

PART II 한 발 더 들어가기 97
CHAPTER 4 클래스 파일과 바이트코드 99
4.1 클래스 로딩과 클래스 객체 100
4.2 클래스로더 105
4.3 클래스 파일 살펴보기 117
4.4 바이트코드 123
4.5 리플렉션 138
▶ 요약 144

CHAPTER 5 자바 동시성 기초 145
5.1 동시성 이론 입문 146
5.2 디자인 콘셉트 151
5.3 블록 구조 동시성(자바 5 이전) 156
5.4 자바 메모리 모델 179
5.5 바이트코드로 동시성 이해하기 182
▶ 요약 205

CHAPTER 6 JDK 동시성 라이브러리 206
6.1 최신 동시 애플리케이션을 위한 빌딩 블록 206
6.2 아토믹 클래스 207
6.3 잠금 클래스 209
6.4 CountDownLatch 212
6.5 ConcurrentHashMap 214
6.6 CopyOnWriteArrayList 225
6.7 블로킹 큐 229
6.8 퓨처 239
6.9 작업과 실행 243
▶ 요약 251

CHAPTER 7 자바 성능 이해하기 252
7.1 몇 가지 성능 용어의 기본 정의 255
7.2 성능 분석에 대한 실용적인 접근 방식 258
7.3 무엇이 문제인지 왜 신경 써야 하는가? 265
7.4 자바 성능 튜닝은 왜 어려운가? 269
7.5 가비지 컬렉션 274
7.6 핫스폿에서의 JIT 컴파일 284
7.7 JDK Flight Recorder 291
▶ 요약 298

PART III JVM에서 자바 외의 언어 299
CHAPTER 8 다른 JVM 언어 301
8.1 언어 분류학 302
8.2 JVM에서의 다중 언어 프로그래밍 307
8.3 프로젝트에 비자바 언어를 선택하는 방법 314
8.4 JVM이 다른 언어를 지원하는 방법 318
▶ 요약 322

CHAPTER 9 코틀린 323
9.1 코틀린을 사용하는 이유 324
9.2 편의성과 간결성 325
9.3 클래스와 객체에 대한 다른 시각 337
9.4 안전성 345
9.5 동시성 349
9.6 자바와의 상호 운용성 353
▶ 요약 358

CHAPTER 10 클로저: 프로그래밍에 대한 다른 관점 359
10.1 클로저 소개 360
10.2 클로저 찾아보기: 구문 및 의미론 370
10.3 함수형 프로그래밍과 closure 388
10.4 클로저 시퀀스 소개 390
10.5 클로저와 자바 간의 상호 운용성 397
10.6 매크로 403
▶ 요약 410

PART IV 빌드와 디플로이먼트 411
CHAPTER 11 그래들과 메이븐을 사용한 빌드 413
11.1 기본기가 탄탄한 개발자에게 빌드 도구가 왜 중요한가 413
11.2 메이븐 419
11.3 그래들 450
▶ 요약 481

CHAPTER 12 컨테이너에서 자바 실행하기 482
12.1 기본기가 튼튼한 개발자에게 컨테이너가 중요한 이유 483
12.2 도커 기본 487
12.3 도커로 자바 애플리케이션 개발하기 494
12.4 쿠버네티스 510
12.5 관측 가능성과 성능 519
▶ 요약 524

CHAPTER 13 테스트 기본 525
13.1 테스트하는 이유 526
13.2 테스트 방법 526
13.3 테스트 주도 개발 530
13.4 테스트 더블 539
13.5 Junit 4에서 5로 552
▶ 요약 559

CHAPTER 14 Junit을 넘어선 테스트 560
14.1 테스트컨테이너를 이용한 통합 테스트 560
14.2 Spek과 코틀린을 사용한 명세 스타일 테스팅 572
14.3 클로저를 사용한 속성 기반 테스트 579
▶ 요약 594

PART V 자바의 새 영역 595
CHAPTER 15 고급 함수 프로그래밍 597
15.1 함수형 프로그래밍 개념 소개 598
15.2 자바의 함수형 프로그래밍 언어로서의 한계 603
15.3 코틀린 함수형 프로그래밍 619
15.4 클로저 함수형 프로그래밍 637
▶ 요약 644

CHAPTER 16 고급 동시성 프로그래밍 645
16.1 Fork/Join 프레임워크 646
16.2 동시성과 함수형 프로그래밍 653
16.3 코틀린 코루틴의 내면 들여다보기 660
16.4 클로저 동시성 669
▶ 요약 685

CHAPTER 17 최신 내부 구조 686
17.1 JVM 내부 구조 소개: 메서드 호출 687
17.2 리플렉션 내부 694
17.3 메서드 핸들 700
17.4 Invokedynamic 707
17.5 내부의 작은 변화들 713
17.6 Unsafe 721
17.7 지원되는 API로 Unsafe 대체하기 726
▶ 요약 731

CHAPTER 18 앞으로의 자바 732
18.1 프로젝트 앰버 733
18.2 프로젝트 파나마 735
18.3 프로젝트 룸 743
18.4 프로젝트 발할라 753
18.5 자바 18 762
▶ 요약 763

APPENDIX A 자바 선택하기 765
A.1 자바는 여전히 무료다 765
A.2 자바 SE 8 유지 766
A.3 자바 SE 11 받기 766
A.4 자바 SE 17(장기 지원 버전) 받기 767
A.5 유료 지원 768

APPENDIX B 자바 8에서의 스트림에 대한 요약 769
B.1 하위 호환성 769
B.2 디폴트 메서드 770
B.3 스트림 772
B.4 컬렉션의 한계 776
B.5 무한 스트림 776
B.6 원시 타입 다루기 777
B.7 병렬 연산? 779

찾아보기 781

저자소개

제이슨 클라크 (지은이)    정보 더보기
깃허브의 소프트웨어 엔지니어다. 뉴렐릭의 수석 엔지니어 겸 아키텍트였으며, WebMD에서 닷넷 기반 웹 서비스를 구축하는 아키텍트였다. 저서로 《Java in a Nutshell, 8th Edition》(O’Reilly, 2023)이 있다. 정기적인 콘퍼런스 연사로 활동 중이며, 초보자와 학생을 위한 쉽고 재미있는 GUI 프로그래밍을 목표로 하는 오픈소스 프로젝트 Shoes에 기여하고 있다.
펼치기
벤저민 J. 에번스 (지은이)    정보 더보기
레드햇 런타임즈에서 수석 소프트웨어 엔지니어이자 관측성 총괄을 맡고 있는 아키텍트, 저자, 교육자입니다. 또한 자바 챔피언이며, 『자바 최적화』를 포함해 7권 이상의 프로그래밍 서적을 집필한 자바 전문가입니다. 전에는 뉴렐릭에서 계측 담당 수석 아키텍트로 재직했으며, 마이크로소프트에 인수된 제이클래리티의 공동 창립자이기도 합니다. 또한 자바 SE/EE 실행 위원회 멤버로 활동한 경력이 있습니다.
펼치기
마르테인 페르뷔르흐 (지은이)    정보 더보기
마이크로소프트 자바 엔지니어링 그룹의 수석 SWE 그룹 관리자다. 런던 자바 사용자 그룹의 공동 리더로, 세계 최고의 OpenJDK 배포판인 AdoptOpenJDK(현 이클립스 애드옵티움)를 공동 설립했다. 《기본기가 탄탄한 자바 개발자》 제1판의 공동 저자이며, 여러 자바 표준 단체(자바 커뮤니티 프로세스, 자카르타 EE 등)의 위원으로 활동하고 있다.
펼치기
김성원 (옮긴이)    정보 더보기
대학원에서 정보보안을 전공하고 소프트웨어 프로그래머로서 20년 넘게 정보보안부터 다양한 기업 업무 분야에 이르기까지 폭넓은 경험을 쌓아온 애플리케이션 개발자입니다. 최근에는 특정 업무 영역에 특화된 자연어 처리(NLP)와 WebRTC 관련 소프트웨어 개발에 주력하여 이러한 경험을 통해 복잡한 문제를 해결하고, 최신 기술을 활용한 혁신적인 솔루션을 탐구하고 있습니다. 또한 기술서 번역을 즐겨 이를 통해 지속적으로 학습하고 새로운 기술과 트렌드를 접하고 있으며, 이런 작업을 통해 복잡한 기술적 개념을 독자들이 쉽게 이해하고 활용할 수 있도록 돕고 있습니다. 주요 역서 코딩 테스트로 시작하는 파이썬 프로그래밍(영진닷컴, 2022) 파이브 라인스 오브 코드(위키북스, 2023) 예제로 배우는 Django 4(영진닷컴, 2024)
펼치기

책속에서



JMOD 형식은 기존 JAR 형식과 다소 유사하지만, 자바 8에서처럼 별도의 공유 객체 파일을 제공하지 않고, 네이티브 코드를 단일 파일의 일부로 포함할 수 있도록 수정됐다. 메이븐에 모듈을 게시하는 등 대부분의 개발자의 경우, 자체 모듈을 JMOD보다는 모듈식 JAR로 패키징하는 것이 더 좋다. / JIMAGE 형식은 자바 런타임 이미지를 나타내는 데 사용된다. 자바 8 이전까지는 두 가지 런타임 이미지(JDK와 자바 실행 환경(Java Runtime Environment, JRE))만 존재했지만, 이는 대부분 역사적 우연이었다. 오라클은 완전한 모듈화를 향한 디딤돌로 자바 8(및 콤팩트 프로파일)과 함께 Server JRE를 도입했다. 이 이미지는 기본적으로 서버 측 애플리케이션의 요구 사항에 맞춰 더 작은 공간을 차지하기 위해 일부 기능(예: GUI 프레임워크)을 제거했다.


자바 11에서 다양한 주문을 모델링하고 싶다고 가정해보겠다. 이 경우 두 가지 대안 중 하나를 선택해야 한다. 첫째, 실제 타입을 보유하는 상태 필드를 가진 단일 구현 클래스(또는 레코드)인 FXOrder를 선택할 수 있다. 이 패턴은 상태 필드가 열거형이고 이 객체가 실제로 어떤 타입을 의미하는지를 나타내는 정보를 제공함으로써 작동한다. 이 패턴은 필드가 가질 수 있는 모든 타입의 경우를 애플리케이션 프로그래머가 일일이 체크하고 추적해야 하므로 차선책이 될 수 있다. 또는 기본 추상 클래스인 BaseOrder를 선언하고 이를 서브클래싱해서 구체적인 타입인 MarketOrder와 LimitOrder를 가지도록 할 수 있다.


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책
9791193926628