자바의 신 Vol 2: 주요 API 응용편 (3 판)

자바의 신 Vol 2: 주요 API 응용편 (3 판)

$35.00
Description
이 책은 〈자바의 신〉 VOL.1 기초 입문서를 배운 독자가 개발을 하면서 좀더 심화한 API를 활용해야 할 때 제대로 활용할 수 있는 법을 담았다. 내용 구석구석 NAVER, NHN, SKPlanet 등에서 성능 전문가의 풍부한 경험이 녹아 있다. 수십 년 간 버전 업이 지속되는 자바의 주요 API를 버전에 맞게 어떻게 활용할 수 있는지 노하우를 얻을 수 있을 것이다.

_대상 독자
Q. 자바 개발자로 일하고 싶은데, 무엇을 어떻게 시작해야 할까요?
A: 우선 VOL.1을 마스터하세요. 연습문제를 반드시 풀어봐야 합니다.

Q. 현업에서 개발자로 일하고 있지만, 나의 개발 방식이 가끔 맞는 것인지 헷갈릴 때가 있어요.
A: VOL.1을 건너 뛰고 VOL.2를 학습해도 됩니다. 레퍼런스로 찾아서 필요한 부분만 읽어도 됩니다.
Q. 개발자는 아니지만, 개발자들과 소통할 일이 많아요.
A: VOL.1만 공부해도 충분합니다. 개념을 익히는 데 많은 도움을 받을 수 있어요.
저자

이상민

삼성SDS에서개발을시작하여NAVER,NHN,SKPlanet에서개발자및엔지니어로일해왔다.『자바성능튜닝이야기』,『자바트러블슈팅』,『누가IT시장취업에성공하는가』등다수의IT서적을집필하였다.현재는서비스개선및개발자역량향상에힘쓰며CTO역할을수행하고있다.

목차

머리말
이렇게학습하세요
감수자&베타리더의글

1장.이쯤에서자바의역사와JVM에대해서알아보자
자바의역사
JDK의플랫폼에따른차이
JDK,J2SE,JavaSE외에자바에서사용되는다른용어들
자바언어의특징은다음과같다
자바의버전별차이
JIT컴파일러는도대체뭘까?
HotSpot은또뭐야?
자바를배우면꼭알아야하는용어
자바의GC는어떻게진행되나요?
정리하며

2장.가장많이쓰는패키지는자바랭
java.lang패키지는특별하죠
숫자를처리하는클래스들
각종정보를확인하기위한System클래스
System.out을살펴보자
정리하며
직접해봅시다
정리해봅시다

3장.실수를방지하기위한제네릭이라는것도있어요
실수를방지할수있도록도와주는제네릭
제네릭이뭐지?
제네릭타입의이름정하기
제네릭에?가있는것은뭐야?
제네릭선언에사용하는타입의범위도지정할수있다
메소드를제네릭하게선언하기
정리하며
직접해봅시다
정리해봅시다


4장.자바랭다음으로많이쓰는애들은컬렉션-Part1(List)
자바컬렉션
List인터페이스와그동생들
ArrayList에대해서파헤쳐보자
ArrayList의생성자는3개다
ArrayList에데이터를담아보자
ArrayList에서데이터를꺼내자
ArrayList에있는데이터를삭제하자
Stack클래스는뭐가다른데?
정리하며
직접해봅시다
정리해봅시다

5장.자바랭다음으로많이쓰는애들은컬렉션-Part2(Set과Queue)
Set이왜필요하지?
HashSet에대해서파헤쳐보자
HashSet의생성자들도여러종류가있다
HashSet의주요메소드를살펴보자
Queue는왜필요할까?
LinkedList를파헤쳐보자
LinkedList의생성자와주요메소드를살펴보자
정리하며
직접해봅시다
정리해봅시다


6장.자바랭다음으로많이쓰는애들은컬렉션-Part3(Map)
Map이란?
Map을구현한주요클래스들을살펴보자
HashMap클래스에대해서자세히알아보자
HashMap객체에값을넣고확인해보자
HashMap객체의값을확인하는다른방법들을알아보자
정렬된키의목록을원한다면TreeMap을사용하자
Map을구현한Properties클래스는알아두면편리하다
자바의자료구조를정리해보자
정리하며
직접해봅시다
정리해봅시다


7장.쓰레드는개발자라면알아두는것이좋아요
쓰레드가도대체뭘까?
Runnable인터페이스와Thread클래스
Thread클래스의생성자를살펴보자.
많이사용되는sleep()메소드에대해서살펴보자
Thread클래스의주요메소드를살펴보자
쓰레드와관련이많은synchronized
synchronized블록은이렇게사용한다
쓰레드를통제하는메소드들
Object클래스에선언된쓰레드와관련있는메소드들
ThreadGroup에서제공하는메소드들
정리하며
직접해봅시다
정리해봅시다


8장.파일에있는것을읽고쓰려면아이오를알아야죠
I/O는…
자바의File과Files클래스
File클래스를이용하여파일의경로와상태를확인해보자
File클래스를이용하여파일을처리하자
디렉터리에있는목록을살펴보기위한list메소드들
InputStream과OutputStream은자바스트림의부모들이다
Reader와Writer
텍스트파일을써보자
텍스트파일을읽어보자
정리하며
직접해봅시다
정리해봅시다


9장.Serializable과NIO도살펴봅시다
Serializable에대해서좀살펴보자
객체를저장해보자
객체를읽어보자
transient라는예약어는Serializable과떨어질수없는관계다
자바NIO란?
NIO의Buffer클래스
정리하며
정리해봅시다

10장.다른서버로데이터를보내려면어떻게하면되나요?
네트워크프로그래밍이란?
소켓통신을하기위해서알아야하는Socket클래스
간단하게소켓통신을해보자
UDP통신을위해서알아야하는Datagram관련클래스
간단하게UDP통신을해보자
자바에서웹페이지요청을하려면어떻게해야하지?
정리하며
직접해봅시다
정리해봅시다


11장.이제주요API도알아봤으니정리해봅시다
자바의예약어들
제네릭
쓰레드
자바API에서제공하는자료구조와Collection
Collection-List인터페이스
Collection-Set인터페이스
Collection-Queue인터페이스
Collection-Map인터페이스
IO관련클래스들
네트워크관련클래스들
정리하며

〈자바의신〉기말고사
〈자바의신〉기말실습문제

12장.Java7에서달라진것들에는?
Java7에서는…
달라진숫자표현법!!!
switch문장도좀확장되었대요
제네릭은다이아몬드를쓰면쉬워요
Nonreifiablevarargs타입
예외도이렇게보완되었답니다
Java7부터는꼭안닫아도되는애들이있어요
정리하며
정리해봅시다


13장.Java7에추가된것들에는?
Fork/Join은CPU를더쉽게,효율적으로사용하기위해서만들어진거에요
NIO도잘모르는데NIO2가나왔다
Files클래스는파일을다루기위한클래스랍니다
파일이변경되었는지확인하는WatchService클래스도추가되었어요
파일과관련된다른새로운API에는어떤것들이있을까?
Fork/Join과NIO2외에추가및변경된것들을간단히살펴보죠
정리하며
정리해봅시다

14장.Java8에추가된것들은?
Java8의새로운것들
Optional
Defaultmethod
날짜관련클래스들
병렬배열정렬(Parallelarraysorting)
StringJoiner
정리하며

15장.Java8에서변경된것들은?
Lambda표현식(expression)
java.util.function패키지
stream
streamforEach()
메소드참조
streammap()
streamfilter()
Stream을다시한번정리해보자
정리하며

16장.Java9에서변경된것들은?
Java의변경된정책은꼭알아야해요.
Java버전별추가된사항은어디서확인해야할까?
Java9에서추가되거나달라진것들은?
Java9부터변경된String클래스
Interface의private메소드를추가할수있다
새로운HTTP클라이언트를쓰면뭐가좋을까?
Publish-Subscribe프레임워크
자바의모듈화-직소프로젝트
정리하며

17장.Java10에서는무엇이달라졌을까?
Java10에서추가되거나달라진기능들은?
타입을일일이입력하기귀찮다면var를사용해도된다.
수정불가능한Collection
정리하며

18장.Java11은얼마나달라졌을까?
OracleJDK의유료화
Java11에추가되거나개선된기능들은?
컴파일없이java파일의실행하는방법은?
Lambda에서var사용해보기
정리하며

19장.Java12~17버전을살펴보자
Java12에추가되거나개선된기능들은?
java13에추가되거나개선된기능들은?
Java14에추가되거나개선된기능들은?
Java15에추가되거나개선된기능들은?
Java16에추가되거나개선된기능들은?
Java17에추가되거나개선된기능들은?
switch-case문이좀달라졌어요.
따옴표세개를연달아쓰면text블록을사용할수있어요.
record클래스가뭔가요?
sealed클래스는어디에사용하는것인가요?
정리하며

찾아보기

〈VOL.1의주요목차요약〉
1장.프로그래밍이란무엇인가?
2장.HelloGodOfJava
3장.자바를제대로알려면객체가무엇인지를알아야해요
4장.정보를어디에넣고싶은데
5장.계산을하고싶어요
6장.제가조건을좀따져요
7장.여러데이터를하나에넣을수는없을까요?
8장.참조자료형에대해서더자세히알아봅시다
9장.자바를배우면패키지와접근제어자는꼭알아야해요
10장.자바는상속이라는것이있어요
11장.매번만들기귀찮은데누가만들어놓은거쓸수없나요?
12장.모든클래스의부모클래스는Object에요
13장.인터페이스와추상클래스,enum
14장.다배운것같지만,예외라는중요한것이있어요
15장.String
16장.클래스안에클래스가들어갈수도있구나
17장.어노테이션이라는것도알아야한다
18장.이제기본문법은거의다배웠으니정리해봅시다

〈자바의신〉중간점검및실습

출판사 서평

_주요내용

[3판의주요변경사항]
최근자바의버전은급격하게변합니다.6개월에버전이1씩증가하는데,회사에서사용하는자바의버전은프로젝트가시작될때가장최신버전에머물러있는경우가많습니다.그래서〈자바의신〉3판에서는최신자바버전에서달라진부분에대해서최대한신입및기존개발자분들이쉽게이해할수있도록작성하였습니다.〈자바의신〉2판을쓸때인2017년에는최신버전이Java8이었지만지금은Java20이가장최신버전이며,장기지원버전인Java21은올해출시될예정입니다.왜이렇게버전번호가급격하게올라갔는지는본문에서확인할수있습니다.

이책은VOL.2로주요API활용법을다루고있습니다.
VOL.1이기초문법을다루었다면,VOL.2에서는개발현장에많이활용하는주요API가무엇이고어떻게쓰이는지를다룹니다.

가장신경쓴점은“생각하는습관”을갖도록하는데있습니다.
이책에는“생각해봅시다”라는쉬어가는코너가아주자주등장합니다.이코너에서는독자에게화두를던지고그에대해짧게는1분에서길게는10분까지생각해볼수있도록하였습니다.이를통해현업에서개발자로성장했을때단순코더가아니라생각하는코더가될수있도록세심하게배려하였습니다.

연습문제에심혈을기울였습니다.
문제를풀어보는것만큼실력을높일수있는지름길은없습니다.서술형문제에서는이미학습한내용을잘기억하고있는지테스트할수있습니다.실습문제에서는작은단위의프로그램을만들어보면서프로그램짜는능력을쑥쑥키워갈수있습니다.

VOL.1&VOL.2공통온라인특별판PDF무료제공
1장.저는이런것말고웹페이지를만들고싶었다구요
2장.그럼데이터를저장하려면어떻게해야하는데요?
부록1.Tomcat설치하기
부록2.JSP와web.xml추가설명
부록3.SQL기초와JDBC타입
부록4.GUI도구인JavaFX
부록5.JavaFX로계산기를만들어보자
부록6.자바설치가이드
[다운로드링크]
*https://roadbook.co.kr/313
*cafe.naver.com/godofjava

〈자바의신〉사이트에서연습문제도직접풀어보고정답을확인하세요.
https://sites.google.com/view/godofjava3rd/

〈자바의신〉네이버카페에서공부하다막히면문의하면서학습하세요.
https://cafe.naver.com/godofjava

예제소스는깃허브에서별도로제공됩니다.
https://github.com/godofjava/GodOfJava3rd

_편집자코멘트
편집자인저도원고의초고를보면서연습문제를직접풀어보았습니다.사실삽질을되게많이했습니다.“어디서에러가나는거지?”“앞에서이런부분을설명했나?”“아~내가이런부분을이해하지못하고넘어갔구나”하면서,교정시간은더디게갔지만,훨씬자바라는언어에더가까워질수있었습니다.
이책의베타리뷰어로참여했던분들도비슷한경험을하였습니다.이책은21명의베타리뷰어가리뷰를하였습니다.디지털파일이아니라모든분들께일일이제본된책자가제공되었습니다.실제독자가학습하는방식그대로를재현하면서어디에서막히는지,문제점은없는지를발견하고이를책에반영하였습니다.상당히까다롭고귀찮은작업이었지만,기본서의중요성에비추어볼때이정도의투자는해야한다고생각했습니다.
이책에참여해주신21명의베타리뷰어와좋은기본서를만들어준저자에게진심으로감사를드립니다.