-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈(zèng)1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
JAVA程序員修煉之道 版權(quán)信息
- ISBN:9787115321954
- 條形碼:9787115321954 ; 978-7-115-32195-4
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
JAVA程序員修煉之道 本書特色
《java程序員修煉之道》分為四部分,**部分全面介紹java 7的新特性,第二部分探討java關(guān)鍵編程知識(shí)和技術(shù),第三部分討論jvm上的新語言和多語言編程,第四部分將平臺(tái)和多語言編程知識(shí)付諸實(shí)踐。從介紹java 7的新特性入手,《java程序員修煉之道》涵蓋了java開發(fā)中*重要的技術(shù),比如依賴注入、測試驅(qū)動(dòng)的開發(fā)和持續(xù)集成,探索了jvm上的非java語言,并詳細(xì)講解了多語言項(xiàng)目,特別是涉及groovy、scala和clojure語言的項(xiàng)目。此外,書中含有大量代碼示例,幫助讀者從實(shí)踐中理解java語言和平臺(tái)。 《java程序員修煉之道》適合java開發(fā)人員以及對java7和jvm新語言感興趣的各領(lǐng)域人士閱讀。
JAVA程序員修煉之道 內(nèi)容簡介
隨著核心平臺(tái)以及生態(tài)系統(tǒng)的不斷創(chuàng)新,java技術(shù)一直在快速向前發(fā)展!秊ava程序員修煉之道》涵蓋了java 7的*新特性和java開發(fā)的關(guān)鍵技術(shù),對當(dāng)前大量開源技術(shù)并存,多核處理器、并發(fā)以及海量數(shù)據(jù)給java開發(fā)帶來的挑戰(zhàn)作出了精辟的分析,提供了實(shí)踐前沿的深刻洞見,涉及依賴注入、現(xiàn)代并發(fā)、類與字節(jié)碼、性能調(diào)優(yōu)等底層概念的剖析。 今天,掌握jvm上的新語言對java開發(fā)人員的意義非比尋常。因此深入探討java關(guān)鍵技術(shù),還用較大篇幅全面討論了jvm上的多語言開發(fā)和項(xiàng)目控制,包括groovy、scala和clojure這些優(yōu)秀的新語言。這些技術(shù)可以幫助java開發(fā)人員構(gòu)建下一代商業(yè)軟件。java開發(fā)人員若要修煉進(jìn)階,本書絕對不容錯(cuò)過!
JAVA程序員修煉之道 目錄
**部分 用java 7做開發(fā)
第1章 初識(shí)java 7
1.1 語言與平臺(tái)
1.2 coin項(xiàng)目:濃縮的都是精華
1.3 coin項(xiàng)目中的修改
1.3.1 switch語句中的string
1.3.2 更強(qiáng)的數(shù)值文本表示法
1.3.3 改善后的異常處理
1.3.4 try-with-resources(twr)
1.3.5 鉆石語法
1.3.6 簡化變參方法調(diào)用
1.4 小結(jié)
第2章 新i/o
2.1 java i/o簡史
2.1.1 java 1.0到1.3
2.1.2 在java 1.4中引入的nio
2.1.3 下一代i/o-nio.2
2.2 文件i/o的基石:path
2.2.1 創(chuàng)建一個(gè)path
2.2.2 從path中獲取信息
2.2.3 移除冗余項(xiàng)
2.2.4 轉(zhuǎn)換path
2.2.5 nio.2 path和java已有的file類
2.3 處理目錄和目錄樹
2.3.1 在目錄中查找文件
2.3.2 遍歷目錄樹
2.4 nio.2的文件系統(tǒng)i/o
2.4.1 創(chuàng)建和刪除文件
2.4.2 文件的復(fù)制和移動(dòng)
2.4.3 文件的屬性
2.4.4 快速讀寫數(shù)據(jù)
2.4.5 文件修改通知
2.4.6 seekablebytechannel
2.5 異步 i/o操作
2.5.1 將來式
2.5.2 回調(diào)式
2.6 socket和channel的整合
2.6.1 networkchannel
2.6.2 multicastchannel
2.7 小結(jié)
第二部分 關(guān)鍵技術(shù)
第3章 依賴注入
3.1 知識(shí)注入:理解ioc和di
3.1.1 控制反轉(zhuǎn)
3.1.2 依賴注入
3.1.3 轉(zhuǎn)成di
3.2 java中標(biāo)準(zhǔn)化的di
3.2.1 @inject注解
3.2.2 @qualifier注解
3.2.3 @named注解
3.2.4 @scope注解
3.2.5 @singleton注解
3.2.6 接口provider
3.3 java中的di參考實(shí)現(xiàn):guice 3
3.3.1 guice新手指南
3.3.2 水手繩結(jié):guice的各種綁定
3.3.3 在guice中限定注入對象的生命周期
3.4 小結(jié)
第4章 現(xiàn)代并發(fā)
4.1 并發(fā)理論簡介
4.1.1 解釋java線程模型
4.1.2 設(shè)計(jì)理念
4.1.3 這些原則如何以及為何會(huì)相互沖突
4.1.4 系統(tǒng)開銷之源
4.1.5 一個(gè)事務(wù)處理的例子
4.2 塊結(jié)構(gòu)并發(fā)(java 5之前)
4.2.1 同步與鎖
4.2.2 線程的狀態(tài)模型
4.2.3 完全同步對象
4.2.4 死鎖
4.2.5 為什么是synchronized
4.2.6 關(guān)鍵字volatile
4.2.7 不可變性
4.3 現(xiàn)代并發(fā)應(yīng)用程序的構(gòu)件
4.3.1 原子類:java.util. concurrent.atomic
4.3.2 線程鎖:java.util. concurrent.locks
4.3.3 countdownlatch
4.3.4 concurrenthashmap
4.3.5 copyonwritearraylist
4.3.6 queue
4.4 控制執(zhí)行
4.4.1 任務(wù)建!
4.4.2 scheduledthread-poolexecutor
4.5 分支/合并框架
4.5.1 一個(gè)簡單的分支/合并例子
4.5.2 forkjointask與工作竊取
4.5.3 并行問題
4.6 java內(nèi)存模型
4.7 小結(jié)
第5章 類文件與字節(jié)碼
5.1 類加載和類對象
5.1.1 加載和連接概覽
5.1.2 驗(yàn)證
5.1.3 class對象
5.1.4 類加載器
5.1.5 示例:依賴注入中的類加載器
5.2 使用方法句柄
5.2.1 methodhandle
5.2.2 methodtype
5.2.3 查找方法句柄
5.2.4 示例:反射、代理與方法句柄
5.2.5 為什么選擇methodhandle
5.3 檢查類文件
5.3.1 介紹javap
5.3.2 方法簽名的內(nèi)部形式
5.3.3 常量池
5.4 字節(jié)碼
5.4.1 示例:反編譯類
5.4.2 運(yùn)行時(shí)環(huán)境
5.4.3 操作碼介紹
5.4.4 加載和儲(chǔ)存操作碼
5.4.5 數(shù)學(xué)運(yùn)算操作碼
5.4.6 執(zhí)行控制操作碼
5.4.7 調(diào)用操作碼
5.4.8 平臺(tái)操作操作碼
5.4.9 操作碼的快捷形式
5.4.10 示例:字符串拼接
5.5 invokedynamic
5.5.1 invokedynamic如何工作
5.5.2 示例:反編譯invokedynamic調(diào)用
5.6 小結(jié)
第6章 理解性能調(diào)優(yōu)
6.1 性能術(shù)語
6.1.1 等待時(shí)間
6.1.2 吞吐量
6.1.3 利用率
6.1.4 效率
6.1.5 容量
6.1.6 擴(kuò)展性
6.1.7 退化
6.2 務(wù)實(shí)的性能分析法
6.2.1 知道你在測量什么
6.2.2 知道怎么測量
6.2.3 知道性能目標(biāo)是什么
6.2.4 知道什么時(shí)候停止優(yōu)化
6.2.5 知道高性能的成本
6.2.6 知道過早優(yōu)化的危險(xiǎn)
6.3 哪里出錯(cuò)了?我們擔(dān)心的原因
6.3.1 過去和未來的性能趨勢:摩爾定律
6.3.2 理解內(nèi)存延遲層級
6.3.3 為什么java性能調(diào)優(yōu)存在困難
6.4 一個(gè)來自于硬件的時(shí)間問題
6.4.1 硬件時(shí)鐘
6.4.2 麻煩的nanotime()
6.4.3 時(shí)間在性能調(diào)優(yōu)中的作用
6.4.4 案例研究:理解緩存未命中
6.5 垃圾收集
6.5.1 基本算法
6.5.2 標(biāo)記和清除
6.5.3 jmap
6.5.4 與gc相關(guān)的jvm參數(shù)
6.5.5 讀懂gc日志
6.5.6 用visualvm查看內(nèi)存使用情況
6.5.7 逸出分析
6.5.8 并發(fā)標(biāo)記清除
6.5.9 新的收集器:g1
6.6 hotspot的jit編譯
6.6.1 介紹hotspot
6.6.2 內(nèi)聯(lián)方法
6.6.3 動(dòng)態(tài)編譯和獨(dú)占調(diào)用
6.6.4 讀懂編譯日志
6.7 小結(jié)
第三部分 jvm上的多語言編程
第7章 備選jvm語言
7.1 java 太笨?純粹誹謗
7.1.1 整合系統(tǒng)
7.1.2 函數(shù)式編程的基本原理
7.1.3 映射與過濾器
7.2 語言生態(tài)學(xué)
7.2.1 解釋型與編譯型語言
7.2.2 動(dòng)態(tài)與靜態(tài)類型
7.2.3 命令式與函數(shù)式語言
7.2.4 重新實(shí)現(xiàn)的語言與原生語言
7.3 jvm上的多語言編程
7.3.1 為什么要用非java語言
7.3.2 嶄露頭角的語言新星
7.4 如何挑選稱心的非java語言
7.4.1 低風(fēng)險(xiǎn)
7.4.2 與java的交互操作
7.4.3 良好的工具和測試支持
7.4.4 備選語言學(xué)習(xí)難度
7.4.5 使用備選語言的開發(fā)者
7.5 jvm對備選語言的支持
7.5.1 非java語言的運(yùn)行時(shí)環(huán)境
7.5.2 編譯器小說
7.6 小結(jié)
第8章 groovy:java的動(dòng)態(tài)伴侶
8.1 groovy入門
8.1.1 編譯和運(yùn)行
8.1.2 groovy控制臺(tái)
8.2 groovy 101:語法和語義
8.2.1 默認(rèn)導(dǎo)入
8.2.2 數(shù)字處理
8.2.3 變量、動(dòng)態(tài)與靜態(tài)類型、作用域
8.2.4 列表和映射語法
8.3 與java的差異--新手陷阱
8.3.1 可選的分號和返回語句
8.3.2 可選的參數(shù)括號
8.3.3 訪問限定符
8.3.4 異常處理
8.3.5 groovy中的相等
8.3.6 內(nèi)部類
8.4 java不具備的groovy特性
8.4.1 groovybean
8.4.2 安全解引用操作符
8.4.3 貓王操作符
8.4.4 增強(qiáng)型字符串
8.4.5 函數(shù)字面值
8.4.6 內(nèi)置的集合操作
8.4.7 對正則表達(dá)式的內(nèi)置支持
8.4.8 簡單的xml處理
8.5 groovy與java的合作
8.5.1 從groovy調(diào)用java
8.5.2 從java調(diào)用groovy
8.6 小結(jié)
第9章 scala:簡約而不簡單
9.1 走馬觀花scala
9.1.1 簡約的scala
9.1.2 match表達(dá)式
9.1.3 case類
9.1.4 actor
9.2 scala能用在我的項(xiàng)目中嗎
9.2.1 scala和java的比較
9.2.2 何時(shí)以及如何開始使用scala
9.2.3 scala可能不適合當(dāng)前項(xiàng)目的跡象
9.3 讓代碼因scala重新綻放
9.3.1 使用編譯器和repl
9.3.2 類型推斷
9.3.3 方法
9.3.4 導(dǎo)入
9.3.5 循環(huán)和控制結(jié)構(gòu)
9.3.6 scala的函數(shù)式編程
9.4 scala對象模型:相似但不同
9.4.1 一切皆對象
9.4.2 構(gòu)造方法
9.4.3 特質(zhì)
9.4.4 單例和伴生對象
9.4.5 case類和match表達(dá)式
9.4.6 警世寓言
9.5 數(shù)據(jù)結(jié)構(gòu)和集合
9.5.1 list
9.5.2 map
9.5.3 泛型
9.6 actor介紹
9.6.1 代碼大舞臺(tái)
9.6.2 用mailbox跟actor通信
9.7 小結(jié)
第10章 clojure:更安全地編程
10.1 clojure介紹
10.1.1 clojure的hello world
10.1.2 repl入門
10.1.3 犯了錯(cuò)誤
10.1.4 學(xué)著去愛括號
10.2 尋找clojure:語法和語義
10.2.1 特殊形式新手營
10.2.2 列表、向量、映射和集
10.2.3 數(shù)學(xué)運(yùn)算、相等和其他操作
10.3 使用函數(shù)和循環(huán)
10.3.1 一些簡單的clojure函數(shù)
10.3.2 clojure中的循環(huán)
10.3.3 讀取器宏和派發(fā)器
10.3.4 函數(shù)式編程和閉包
10.4 clojure序列
10.4.1 懶序列
10.4.2 序列和變參函數(shù)
10.5 clojure與java的互操作
10.5.1 從clojure中調(diào)用java
10.5.2 clojure值的java類型
10.5.3 使用clojure代理
10.5.4 用repl做探索式編程
10.5.5 在java中使用clojure
10.6 clojure并發(fā)
10.6.1 未來式與并行調(diào)用
10.6.2 ref形式
10.6.3 代理
10.7 小結(jié)
第四部分 多語種項(xiàng)目開發(fā)
第11章 測試驅(qū)動(dòng)開發(fā)
11.1 tdd概覽
11.1.1 一個(gè)測試用例
11.1.2 多個(gè)測試用例
11.1.3 深入思考紅-綠-重構(gòu)循環(huán)
11.1.4 junit
11.2 測試替身
11.2.1 虛設(shè)對象
11.2.2 存根對象
11.2.3 偽裝替身
11.2.4 模擬對象
11.3 scalatest
11.4 小結(jié)
第12章 構(gòu)建和持續(xù)集成
12.1 與maven 3相遇
12.2 maven 3入門項(xiàng)目
12.3 用maven 3構(gòu)建java7developer項(xiàng)目
12.3.1 pom
12.3.2 運(yùn)行示例
12.4 jenkins:滿足ci需求
12.4.1 基礎(chǔ)配置
12.4.2 設(shè)置任務(wù)
12.4.3 執(zhí)行任務(wù)
12.5 maven和jenkins代碼指標(biāo)
12.5.1 安裝jenkins插件
12.5.2 用checkstyle保持代碼一致性
12.5.3 用findbugs設(shè)定質(zhì)量標(biāo)桿
12.6 leiningen
12.6.1 leiningen入門
12.6.2 leiningen的架構(gòu)
12.6.3 hello lein
12.6.4 用leiningen做面向repl的tdd
12.6.5 用leiningen打包和部署
12.7 小結(jié)
第13章 快速web開發(fā)
13.1 java web框架的問題
13.1.1 java編譯為什么不好
13.1.2 靜態(tài)類型為什么不好
13.2 選擇web框架的標(biāo)準(zhǔn)
13.3 grails入門
13.4 grails快速啟動(dòng)項(xiàng)目
13.4.1 創(chuàng)建域?qū)ο蟆 ?br />13.4.2 測試驅(qū)動(dòng)開發(fā)
13.4.3 域?qū)ο蟪志没 ?br />13.4.4 創(chuàng)建測試數(shù)據(jù)
13.4.5 控制器
13.4.6 gsp/jsp頁面
13.4.7 腳手架和ui的自動(dòng)化創(chuàng)建
13.4.8 快速周轉(zhuǎn)的開發(fā)
13.5 深入grails
13.5.1 日志
13.5.2 gorm:對象關(guān)系映射
13.5.3 grails插件
13.6 compojure入門
13.6.1 hello compojure
13.6.2 ring和路由
13.6.3 hiccup
13.7 我是不是一只水獺
13.7.1 項(xiàng)目設(shè)置
13.7.2 核心函數(shù)
13.8 小結(jié)
第14章 保持優(yōu)秀
14.1 對java 8的期待
14.1.1 lambda表達(dá)式(閉包)
14.1.2 模塊化(拼圖jigsaw)
14.2 多語言編程
14.2.1 語言的互操作性及元對象協(xié)議
14.2.2 多語言模塊化
14.3 未來的并發(fā)趨勢
14.3.1 多核的世界
14.3.2 運(yùn)行時(shí)管理的并發(fā)
14.4 jvm的新方向
14.4.1 vm的合并
14.4.2 協(xié)同程序
14.4.3 元組
14.5 小結(jié)
附錄a java7developer:源碼安裝
附錄b glob模式語法及示例
附錄c 安裝備選jvm語言
附錄d jenkins的下載和安裝
附錄e java7developer:maven pom
JAVA程序員修煉之道 相關(guān)資料
我自認(rèn)為是一名java專家:用java寫了15年程序,發(fā)表了幾百篇文章,在各種會(huì)議中演講,還執(zhí)教java高級課程。可閱讀ben和martijn的這本大作,經(jīng)常能給我一些意料之外的啟發(fā)。
——heinz kabutz博士,知名java技術(shù)教育家、the java specialists'
newsletter創(chuàng)始人
如果你想在java專業(yè)領(lǐng)域占有一席之地,本書絕對值得擁有。
——stephen harrison,firstfuel軟件公司首席軟件架構(gòu)師
本書為那些對于編程有極大熱情的java開發(fā)人員提供了絕佳的資源。
——讀者
本書最棒的部分是依賴注入、多語言編程還有現(xiàn)代并發(fā)……老實(shí)說,這本書的所有內(nèi)容都很棒!
——讀者
今天,掌握jvm上的新語言對java開發(fā)人員的意義非比尋常。因此本書除了深入探討java關(guān)鍵技術(shù),還用較大篇幅全面討論了jvm上的多語言開發(fā)和項(xiàng)目控制,包括groovy、scala和clojure這些優(yōu)秀的新語言。這些技術(shù)可以幫助java開發(fā)人員構(gòu)建下一代商業(yè)軟件。java開發(fā)人員若要修煉進(jìn)階,本書絕對不容錯(cuò)過!
——讀者
JAVA程序員修煉之道 作者簡介
Benjamin J. Evans 是倫敦Java用戶組發(fā)起人、Java社區(qū)過程執(zhí)行委員會(huì)成員。他擁有多年Java開發(fā)經(jīng)驗(yàn),現(xiàn)在是一家面向金融業(yè)的Java技術(shù)公司的CEO。 Martijn Verburg 是jClarity的CTO、倫敦Java用戶組領(lǐng)導(dǎo)人。作為一名技術(shù)專家和眾多初創(chuàng)企業(yè)的OSS導(dǎo)師,他擁有十多年的經(jīng)驗(yàn)。Martijn經(jīng)常應(yīng)邀出席Java界的大型會(huì)議(JavaOne、Devoxx、OSCON、FOSDEM等)并發(fā)表演講,人送雅號“開發(fā)魔頭”,贊頌他敢于向行業(yè)現(xiàn)狀挑戰(zhàn)的精神。
- 主題:紙張印刷不錯(cuò)
長度上比普通的大16開要短2.5厘米左右。內(nèi)容其實(shí)主要是提供java程序員進(jìn)一步提高的方向如多線程、字節(jié)碼和性能調(diào)優(yōu);和新的要學(xué)習(xí)的東西,比如新語言特性java7,nio,ioc,新的jvm語言如groovy、scala、clojure, 其他的新知識(shí)如tdd、maven3、jenkins、leiningen、grails、compojure,還有對java8的展望等。這么點(diǎn)篇幅還要面面俱到,要說有多深入談不上,大致上是泛泛介紹指出方向而已。
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(紅燭學(xué)術(shù)叢書)
- >
朝聞道
- >
李白與唐代文化
- >
推拿
- >
羅曼·羅蘭讀書隨筆-精裝
- >
自卑與超越
- >
我與地壇
- >
名家?guī)阕x魯迅:故事新編