第一部分 用Java 7做開發(fā)
第1章 初識Java 7
1.1 語言與平臺
1.2 Coin項目:濃縮的都是精華
1.3 Coin項目中的修改
1.4 小結(jié)
第2章 新I/O
2.1 Java I/O簡史
2.2 文件I/O的基石:Path
2.3 處理目錄和目錄樹
2.4 NIO.2的文件系統(tǒng)I/O
2.5 異步I/O操作
2.6 Socket和Channel的整合
2.7 小結(jié)
第二部分 關(guān)鍵技術(shù)
第3章 依賴注入
3.1 知識注入:理解IoC和DI
3.2 Java中標準化的DI
3.3 Java中的DI參考實現(xiàn):Guice 3
3.4 小結(jié)
第4章 現(xiàn)代并發(fā)
4.1 并發(fā)理論簡介
4.2 塊結(jié)構(gòu)并發(fā)(Java 5之前)
4.3 現(xiàn)代并發(fā)應(yīng)用程序的構(gòu)件
4.4 控制執(zhí)行
4.5 分支/合并框架
4.6 Java內(nèi)存模型
4.7 小結(jié)
第5章 類文件與字節(jié)碼
5.1 類加載和類對象
5.2 使用方法句柄
5.3 檢查類文件
5.4 字節(jié)碼
5.5 invokedynamic
5.6 小結(jié)
第6章 理解性能調(diào)優(yōu)
6.1 性能術(shù)語
6.2 務(wù)實的性能分析法
6.3 哪里出錯了?我們擔心的原因
6.4 一個來自于硬件的時間問題
6.5 垃圾收集
6.6 HotSpot的JIT編譯
6.7 小結(jié)
第三部分 JVM上的多語言編程
第7章 備選JVM語言
7.1 Java 太笨?純粹誹謗
7.2 語言生態(tài)學
7.3 JVM上的多語言編程
7.4 如何挑選稱心的非Java語言
7.5 JVM對備選語言的支持
7.6 小結(jié)
第8章 Groovy:Java的動態(tài)伴侶
8.1 Groovy入門
8.2 Groovy 101:語法和語義
8.3 與Java的差異--新手陷阱
8.4 Java不具備的Groovy特性
8.5 Groovy與Java的合作
8.6 小結(jié)
第9章 Scala:簡約而不簡單
9.1 走馬觀花Scala
9.2 Scala能用在我的項目中嗎
9.3 讓代碼因Scala重新綻放
9.4 Scala對象模型:相似但不同
9.5 數(shù)據(jù)結(jié)構(gòu)和集合
9.6 actor介紹
9.7 小結(jié)
第10章 Clojure:更安全地編程
10.1 Clojure介紹
10.2 尋找Clojure:語法和語義
10.3 使用函數(shù)和循環(huán)
10.4 Clojure序列
10.5 Clojure與Java的互操作
10.6 Clojure并發(fā)
10.7 小結(jié)
第四部分 多語種項目開發(fā)
第11章 測試驅(qū)動開發(fā)
11.1 TDD概覽
11.2 測試替身
11.3 ScalaTest
11.4 小結(jié)
第12章 構(gòu)建和持續(xù)集成
12.1 與Maven 3相遇
12.2 Maven 3入門項目
12.3 用Maven 3構(gòu)建Java7developer項目
12.4 Jenkins:滿足CI需求
12.5 Maven和Jenkins代碼指標
12.6 Leiningen
12.7 小結(jié)
第13章 快速Web開發(fā)
13.1 Java Web框架的問題
13.2 選擇Web框架的標準
13.3 Grails入門
13.4 Grails快速啟動項目
13.5 深入Grails
13.6 Compojure入門
13.7 我是不是一只水獺
13.8 小結(jié)
第14章 保持優(yōu)秀
14.1 對Java 8的期待
14.2 多語言編程
14.3 未來的并發(fā)趨勢
14.4 JVM的新方向
14.5 小結(jié)
附錄A java7developer:源碼安裝
附錄B glob模式語法及示例
附錄C 安裝備選JVM語言
附錄D Jenkins的下載和安裝
附錄E java7developer:Maven POM