JVM 밑바닥까지 파헤치기 : 자동 메모리 관리, 실행 서브시스템, 컴파일, 동시성)

JVM 밑바닥까지 파헤치기 : 자동 메모리 관리, 실행 서브시스템, 컴파일, 동시성)

$43.00
Description
“자바 가상 머신의 깊숙한 내부를 향해 떠나는 흥미진진한 모험”C·C++를 사용해 주로 프로그래밍을 하던 시절 까다로운 메모리 관리와 플랫폼 이식성 문제는 개발자들에게 적지 않은 부담이었다. 그런 상황에서 “한 번 작성하면 어디서든 실행된다”라는 구호와 함께 등장한 자바는 획기적인 언어로 여겨졌다. 그리고 그 구호를 현실로 만든 토대가 된 기술이 바로 자바 가상 머신(JVM)이다.
JVM 덕분에 개발자들은 자동 메모리 관리와 플랫폼 독립성이라는 선물을 받은 듯했지만 낮은 성능과 메모리 부족 오류 같은 대가를 치러야 했다. 그리고 오늘날까지도 그런 문제에서 자유롭지 못한 것이 현실이다. 이러한 문제를 해결하려면 JVM이 복잡한 저수준 문제를 어떻게 처리하는지 그 핵심 원리를 익혀야 한다.
《JVM 밑바닥까지 파헤치기》는 JVM의 네 가지 주요 주제라 할 수 있는 자동 메모리 관리, 실행 서브시스템, 컴파일, 동시성의 핵심 동작 원리를 살펴보면서 이러한 원리들이 실제 자바로 작성된 소프트웨어가 실행되는 데 어떤 식으로 영향을 미치며, 개발 현장에서 부딪히는 문제들에 JVM 동작 메커니즘을 어떤 식으로 적용해 볼 수 있을지 소개하고 있다.
먼 옛날 아기자기한 애플릿을 만들던 시절을 지나 이제는 인터넷 세상의 한편을 떠받치는 언어로 성장한 자바를 이용해 탄탄한 시스템을 구축하고자 하는 개발자들은 이 책을 통해 많은 아이디어와 영감을 얻을 수 있을 것이다.
저자

저우즈밍

저자:저우즈밍
원광소프트웨어연구소(YGSOFT)소장.오픈소스기술의적극적인옹호자이자홍보자이며,특히인공지능,자바,엔터프라이즈개발,애자일등분야에깊은통찰력을가지고있다.〈InfoQ〉와〈IBMDeveloperWorks〉에기술칼럼을여러편기고했다.지은책으로는《JVM밑바닥까지파헤치기》와《OSGi심층이해》등이있으며,《자바가상머신명세》를중국어로번역했다.《JVM밑바닥까지파헤치기》초판은2011년에출간된후개정을거듭하며수십만부가판매되어중국컴퓨터서적분야에서보기드문걸작으로인정받고있다.

역자:개앞맵시(이복연)
1997년부터자바로개발하기시작했으며삼성전자에서자바가상머신,바다플랫폼,챗온메신저서비스개발에참여했다.주업무외에분산빌드,지속적통합,수명주기관리도구,애자일도입등동료개발자들에게실질적인도움을주는일에적극적이었다.그후창업전선에뛰어들어좌충우돌하다가개발자커뮤니티에기여하는더나은방법을찾아출판시장에뛰어들었다.《이펙티브자바3판》,《리팩터링2판》,《구글엔지니어는이렇게일한다》,《밑바닥부터시작하는딥러닝》시리즈등을번역했다.독자들과의소통창구로소소하게facebook.com/dev.loadmap페이지를운영중이다.

목차


옮긴이의말
서문
감사의말

1부자바와친해지기
1장자바기술시스템소개
1.1들어가며
1.2자바기술시스템
1.3자바의과거와현재
1.4자바가상머신제품군
1.5자바기술의미래
1.6실전:내손으로빌드하는JDK
1.7마치며

2부자동메모리관리
2장자바메모리영역과메모리오버플로
2.1들어가며
2.2런타임데이터영역
2.3핫스팟가상머신에서의객체들여다보기
2.4실전:OutOfMemoryError예외
2.5마치며
3장가비지컬렉터와메모리할당전략
3.1들어가며
3.2대상이죽었는가?
3.3가비지컬렉션알고리즘
3.4핫스팟알고리즘상세구현
3.5클래식가비지컬렉터
3.6저지연가비지컬렉터
3.7적합한가비지컬렉터선택하기
3.8실전:메모리할당과회수전략
3.9마치며
4장가상머신성능모니터링과문제해결도구
4.1들어가며
4.2기본적인문제해결도구
4.3GUI도구
4.4핫스팟가상머신플러그인과도구
4.5마치며
5장최적화사례분석및실전
5.1들어가며
5.2사례분석
5.3실전:이클립스구동시간줄이기
5.4마치며

3부자동메모리관리
6장클래스파일구조
6.1들어가며
6.2플랫폼독립을향한초석
6.3클래스파일의구조
6.4바이트코드명령어소개
6.5설계는공개,구현은비공개
6.6클래스파일구조의진화
6.7마치며
7장클래스로딩메커니즘
7.1들어가며
7.2클래스로딩시점
7.3클래스로딩처리과정
7.4클래스로더
7.5자바모듈시스템
7.6마치며
8장바이트코드실행엔진
8.1들어가며
8.2런타임스택프레임구조
8.3메서드호출
8.4동적타입언어지원
8.5스택기반바이트코드해석및실행엔진
8.6마치며
9장클래스로딩과실행서브시스템,사례와실전
9.1들어가며
9.2사례연구
9.3실전:원격실행기능직접구현하기
9.4마치며

4부컴파일과최적화
10장프런트엔드컴파일과최적화
10.1들어가며
10.2javac컴파일러
10.3자바편의문법의재미난점
10.4실전:플러그인애너테이션처리기제작
10.5마치며
11장백엔드컴파일과최적화
11.1들어가며
11.2JIT컴파일러
11.3AOT컴파일러
11.4컴파일러최적화기법
11.5실전:그랄컴파일러깊이이해하기
11.6마치며

5부효율적인동시성
12장자바메모리모델과스레드
12.1들어가며
12.2하드웨어에서의효율과일관성
12.3자바메모리모델
12.4자바와스레드
12.5자바와가상스레드
12.6마치며
13장스레드안전성과락최적화
13.1들어가며
13.2스레드안전성
13.3락최적화
13.4마치며

부록약어목록
찾아보기

출판사 서평

“자바가상머신의깊숙한내부를향해떠나는흥미진진한모험”

C·C++를사용해주로프로그래밍을하던시절까다로운메모리관리와플랫폼이식성문제는개발자들에게적지않은부담이었다.그런상황에서“한번작성하면어디서든실행된다”라는구호와함께등장한자바는획기적인언어로여겨졌다.그리고그구호를현실로만든토대가된기술이바로자바가상머신(JVM)이다.
JVM덕분에개발자들은자동메모리관리와플랫폼독립성이라는선물을받은듯했지만낮은성능과메모리부족오류같은대가를치러야했다.그리고오늘날까지도그런문제에서자유롭지못한것이현실이다.이러한문제를해결하려면JVM이복잡한저수준문제를어떻게처리하는지그핵심원리를익혀야한다.
《JVM밑바닥까지파헤치기》는JVM의네가지주요주제라할수있는자동메모리관리,실행서브시스템,컴파일,동시성의핵심동작원리를살펴보면서이러한원리들이실제자바로작성된소프트웨어가실행되는데어떤식으로영향을미치며,개발현장에서부딪히는문제들에JVM동작메커니즘을어떤식으로적용해볼수있을지소개하고있다.
먼옛날아기자기한애플릿을만들던시절을지나이제는인터넷세상의한편을떠받치는언어로성장한자바를이용해탄탄한시스템을구축하고자하는개발자들은이책을통해많은아이디어와영감을얻을수있을것이다.