第一部分 用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中標(biāo)準(zhǔn)化的DI
3.3 Java中的DI參考實作: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記憶體模型
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 哪裡出錯了?我們擔(dān)心的原因
6.4 一個來自於硬體的時間問題
6.5 垃圾收集
6.6 HotSpot的JIT編譯
6.7 小結(jié)
第三部分 JVM上的多語言程式設(shè)計
第7章 備選JVM語言
7.1 Java 太笨?純粹誹謗
7.2 語言生態(tài)學(xué)
7.3 JVM上的多語言程式設(shè)計
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 資料結(jié)構(gòu)與集合
9.6 actor介紹
9.7 小結(jié)
第10章 Clojure:更安全地程式設(shè)計
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建置Java7developer專案
12.4 Jenkins:滿足CI需求
12.5 Maven和Jenkins代碼指標(biāo)
12.6 Leiningen
12.7 小結(jié)
第13章 快速Web開發(fā)
13.1 Java Web框架的問題
13.2 選擇Web框架的標(biāo)準(zhǔn)
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 多語言程式設(shè)計
14.3 未來的同時趨勢
14.4 JVM的新方向
14.5 小結(jié)
附錄A java7developer:原始碼安裝
附錄B glob模式語法及範(fàn)例
附錄C 安裝備選JVM語言
附錄D Jenkins的下載與安裝
附錄E java7developer:Maven POM