国产TS紫迹丝袜高跟鞋在线,一区二区三区国产自产视频免费,67pao国产人成视频,午国产午夜激无码毛片不卡

愛碼網(wǎng)專注于資源免費下載

Java程序員修煉之道 PDF 下載

Java程序員修煉之道 PDF 下載-第1張圖片 此部分為隱藏內(nèi)容,請輸入驗證碼后查看
驗證碼:


掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗證碼 ” ,獲取驗證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請在下載后24小時內(nèi)刪除。如果喜歡,請購買正版!

一.資料截圖

Java程序員修煉之道 PDF 下載-第2張圖片

二.資料介紹

本書分為四部分,第一部分全面介紹Java 7 的新特性,第二部分探討Java 關(guān)鍵編程知識和技術(shù),第三部分討論JVM 上的新語言和多語言編程,第四部分將平臺和多語言編程知識付諸實踐。從介紹Java 7 的新特性入手,本書涵蓋了Java 開發(fā)中最重要的技術(shù),比如依賴注入、測試驅(qū)動的開發(fā)和持續(xù)集成,探索了JVM 上的非Java 語言,并詳細(xì)講解了多語言項目, 特別是涉及Groovy、Scala 和Clojure 語言的項目。此外,書中含有大量代碼示例,幫助讀者從實踐中理解Java 語言和平臺。

本書適合Java 開發(fā)人員以及對Java7 和JVM 新語言感興趣的各領(lǐng)域人士閱讀。

三.作者簡介

作者簡介:

Benjamin J. Evans

是倫敦Java用戶組發(fā)起人、Java社區(qū)過程執(zhí)行委員會成員。他擁有多年Java開發(fā)經(jīng)驗,現(xiàn)在是一家面向金融業(yè)的Java技術(shù)公司的CEO。

Martijn Verburg

是jClarity的CTO、倫敦Java用戶組領(lǐng)導(dǎo)人。作為一名技術(shù)專家和眾多初創(chuàng)企業(yè)的OSS導(dǎo)師,他擁有十多年的經(jīng)驗。Martijn經(jīng)常應(yīng)邀出席Java界的大型會議(JavaOne、Devoxx、OSCON、FOSDEM等)并發(fā)表演講,人送雅號“開發(fā)魔頭”,贊頌他敢于向行業(yè)現(xiàn)狀挑戰(zhàn)的精神。

譯者簡介:

吳海星

具有10多年的Java軟件開發(fā)經(jīng)驗,熟悉Java語言規(guī)范、基于Java的Web軟件開發(fā)以及性能調(diào)優(yōu),曾獲SCJP及SCWCD證書。

四.資料目錄

目 錄

第一部分 用Java 7做開發(fā)
第1章 初識Java 7  2
1.1  語言與平臺  2
1.2  Coin項目:濃縮的都是精華  4
1.3  Coin項目中的修改  7
1.3.1  switch語句中的String  7
1.3.2  更強的數(shù)值文本表示法  8
1.3.3  改善后的異常處理  9
1.3.4  try-with-resources(TWR)  11
1.3.5  鉆石語法  13
1.3.6  簡化變參方法調(diào)用  14
1.4  小結(jié)  15
第2章 新I/O  17
2.1  Java I/O簡史  18
2.1.1  Java 1.0到1.3  19
2.1.2  在Java 1.4中引入的NIO  19
2.1.3  下一代I/O-NIO.2  20
2.2  文件I/O的基石:Path  20
2.2.1  創(chuàng)建一個Path  23
2.2.2  從Path中獲取信息  23
2.2.3  移除冗余項  24
2.2.4  轉(zhuǎn)換Path  25
2.2.5  NIO.2 Path和Java已有的File類  25
2.3  處理目錄和目錄樹  26
2.3.1  在目錄中查找文件  26
2.3.2  遍歷目錄樹  27
2.4  NIO.2的文件系統(tǒng)I/O  28
2.4.1  創(chuàng)建和刪除文件  29
2.4.2  文件的復(fù)制和移動  30
2.4.3  文件的屬性  31
2.4.4  快速讀寫數(shù)據(jù)  34
2.4.5  文件修改通知  35
2.4.6  SeekableByteChannel  37
2.5  異步 I/O操作  37
2.5.1  將來式  38
2.5.2  回調(diào)式  40
2.6  Socket和Channel的整合  41
2.6.1  NetworkChannel  42
2.6.2  MulticastChannel  42
2.7  小結(jié)  43
第二部分 關(guān)鍵技術(shù)
第3章 依賴注入  46
3.1  知識注入:理解IoC和DI  46
3.1.1  控制反轉(zhuǎn)  47
3.1.2  依賴注入  48
3.1.3  轉(zhuǎn)成DI  49
3.2  Java中標(biāo)準(zhǔn)化的DI  53
3.2.1  @Inject注解  54
3.2.2  @Qualifier注解  55
3.2.3  @Named注解  57
3.2.4  @Scope注解  57
3.2.5  @Singleton注解  57
3.2.6  接口Provider<T>  58
3.3   Java中的DI參考實現(xiàn):Guice 3  59
3.3.1  Guice新手指南  59
3.3.2  水手繩結(jié):Guice的各種綁定  62
3.3.3  在Guice中限定注入對象的生命周期  64
3.4  小結(jié)  66
第4章 現(xiàn)代并發(fā)  67
4.1  并發(fā)理論簡介  68
4.1.1  解釋Java線程模型  68
4.1.2  設(shè)計理念  69
4.1.3  這些原則如何以及為何會相互沖突  70
4.1.4  系統(tǒng)開銷之源  71
4.1.5  一個事務(wù)處理的例子  71
4.2  塊結(jié)構(gòu)并發(fā)(Java 5之前)  72
4.2.1  同步與鎖  73
4.2.2  線程的狀態(tài)模型  74
4.2.3  完全同步對象  74
4.2.4  死鎖  76
4.2.5  為什么是synchronized  77
4.2.6  關(guān)鍵字volatile  78
4.2.7  不可變性  79
4.3  現(xiàn)代并發(fā)應(yīng)用程序的構(gòu)件  80
4.3.1  原子類:java.util. concurrent.atomic  81
4.3.2  線程鎖:java.util. concurrent.locks  81
4.3.3  CountDownLatch  85
4.3.4  ConcurrentHashMap  86
4.3.5  CopyOnWriteArrayList  87
4.3.6  Queue  90
4.4  控制執(zhí)行  95
4.4.1  任務(wù)建模  96
4.4.2  ScheduledThread-PoolExecutor  97
4.5  分支/合并框架  98
4.5.1  一個簡單的分支/合并例子  99
4.5.2  ForkJoinTask與工作竊取  101
4.5.3  并行問題  102
4.6  Java內(nèi)存模型  103
4.7  小結(jié)  104
第5章 類文件與字節(jié)碼  106
5.1  類加載和類對象  107
5.1.1  加載和連接概覽  107
5.1.2  驗證  108
5.1.3  Class對象  108
5.1.4  類加載器  109
5.1.5  示例:依賴注入中的類加載器  110
5.2  使用方法句柄  111
5.2.1  MethodHandle  112
5.2.2  MethodType  112
5.2.3  查找方法句柄  113
5.2.4  示例:反射、代理與方法句柄  114
5.2.5  為什么選擇MethodHandle  116
5.3  檢查類文件  117
5.3.1  介紹javap  117
5.3.2  方法簽名的內(nèi)部形式  118
5.3.3  常量池  119
5.4  字節(jié)碼  121
5.4.1  示例:反編譯類  121
5.4.2  運行時環(huán)境  123
5.4.3  操作碼介紹  124
5.4.4  加載和儲存操作碼  125
5.4.5  數(shù)學(xué)運算操作碼  125
5.4.6  執(zhí)行控制操作碼  126
5.4.7  調(diào)用操作碼  126
5.4.8  平臺操作操作碼  127
5.4.9  操作碼的快捷形式  127
5.4.10  示例:字符串拼接  127
5.5  invokedynamic  129
5.5.1  invokedynamic如何工作  129
5.5.2  示例:反編譯invokedynamic調(diào)用  130
5.6  小結(jié)  132
第6章 理解性能調(diào)優(yōu)  133
6.1  性能術(shù)語  134
6.1.1  等待時間  135
6.1.2  吞吐量  135
6.1.3  利用率  135
6.1.4  效率  135
6.1.5  容量  136
6.1.6  擴展性  136
6.1.7  退化  136
6.2  務(wù)實的性能分析法  136
6.2.1  知道你在測量什么  137
6.2.2  知道怎么測量  137
6.2.3  知道性能目標(biāo)是什么  138
6.2.4  知道什么時候停止優(yōu)化  139
6.2.5  知道高性能的成本  139
6.2.6  知道過早優(yōu)化的危險  140
6.3  哪里出錯了?我們擔(dān)心的原因  140
6.3.1  過去和未來的性能趨勢:摩爾定律  141
6.3.2  理解內(nèi)存延遲層級  142
6.3.3  為什么Java性能調(diào)優(yōu)存在困難  143
6.4  一個來自于硬件的時間問題  144
6.4.1  硬件時鐘  144
6.4.2  麻煩的nanoTime()  144
6.4.3  時間在性能調(diào)優(yōu)中的作用  146
6.4.4  案例研究:理解緩存未命中  147
6.5  垃圾收集  149
6.5.1  基本算法  149
6.5.2  標(biāo)記和清除  150
6.5.3  jmap  152
6.5.4  與GC相關(guān)的JVM參數(shù)  155
6.5.5  讀懂GC日志  156
6.5.6  用VisualVM查看內(nèi)存使用情況  157
6.5.7  逸出分析  159
6.5.8  并發(fā)標(biāo)記清除  160
6.5.9  新的收集器:G1  161
6.6  HotSpot的JIT編譯  162
6.6.1  介紹HotSpot  163
6.6.2  內(nèi)聯(lián)方法  164
6.6.3  動態(tài)編譯和獨占調(diào)用  165
6.6.4  讀懂編譯日志  166
6.7  小結(jié)  167
第三部分 JVM上的多語言編程
第7章 備選JVM語言  170
7.1  Java 太笨?純粹誹謗  170
7.1.1  整合系統(tǒng)  171
7.1.2  函數(shù)式編程的基本原理  172
7.1.3  映射與過濾器  173
7.2  語言生態(tài)學(xué)  174
7.2.1  解釋型與編譯型語言  175
7.2.2  動態(tài)與靜態(tài)類型  175
7.2.3  命令式與函數(shù)式語言  176
7.2.4  重新實現(xiàn)的語言與原生語言  176
7.3  JVM上的多語言編程  177
7.3.1  為什么要用非Java語言  178
7.3.2  嶄露頭角的語言新星  179
7.4  如何挑選稱心的非Java語言  180
7.4.1  低風(fēng)險  181
7.4.2  與Java的交互操作  181
7.4.3  良好的工具和測試支持  182
7.4.4  備選語言學(xué)習(xí)難度  182
7.4.5  使用備選語言的開發(fā)者  182
7.5  JVM對備選語言的支持  183
7.5.1  非Java語言的運行時環(huán)境  183
7.5.2  編譯器小說  184
7.6  小結(jié)  185
第8章 Groovy:Java的動態(tài)伴侶  187
8.1  Groovy入門  189
8.1.1  編譯和運行  189
8.1.2  Groovy控制臺  190
8.2  Groovy 101:語法和語義  191
8.2.1  默認(rèn)導(dǎo)入  192
8.2.2  數(shù)字處理  192
8.2.3  變量、動態(tài)與靜態(tài)類型、作用域  193
8.2.4  列表和映射語法  195
8.3  與Java的差異——新手陷阱  196
8.3.1  可選的分號和返回語句  196
8.3.2  可選的參數(shù)括號  197
8.3.3  訪問限定符  197
8.3.4  異常處理  198
8.3.5  Groovy中的相等  198
8.3.6  內(nèi)部類  199
8.4  Java不具備的Groovy特性  199
8.4.1  GroovyBean  199
8.4.2  安全解引用操作符  200
8.4.3  貓王操作符  201
8.4.4  增強型字符串  201
8.4.5  函數(shù)字面值  202
8.4.6  內(nèi)置的集合操作  203
8.4.7  對正則表達式的內(nèi)置支持  204
8.4.8  簡單的XML處理  205
8.5  Groovy與Java的合作  207
8.5.1  從Groovy調(diào)用Java  207
8.5.2  從Java調(diào)用Groovy  208
8.6  小結(jié)  211
第9章 Scala:簡約而不簡單  212
9.1  走馬觀花Scala  213
9.1.1  簡約的Scala  213
9.1.2  match表達式  215
9.1.3  case類  217
9.1.4  actor  218
9.2  Scala能用在我的項目中嗎  219
9.2.1  Scala和Java的比較  219
9.2.2  何時以及如何開始使用Scala  220
9.2.3  Scala可能不適合當(dāng)前項目的跡象  220
9.3  讓代碼因Scala重新綻放  221
9.3.1  使用編譯器和REPL  221
9.3.2  類型推斷  222
9.3.3  方法  223
9.3.4  導(dǎo)入  224
9.3.5  循環(huán)和控制結(jié)構(gòu)  224
9.3.6  Scala的函數(shù)式編程  225
9.4  Scala對象模型:相似但不同  226
9.4.1  一切皆對象  226
9.4.2  構(gòu)造方法  228
9.4.3  特質(zhì)  228
9.4.4  單例和伴生對象  230
9.4.5  case類和match表達式  232
9.4.6  警世寓言  234
9.5  數(shù)據(jù)結(jié)構(gòu)和集合  235
9.5.1  List  235
9.5.2  Map  238
9.5.3  泛型  239
9.6  actor介紹  242
9.6.1  代碼大舞臺  242
9.6.2  用mailbox跟actor通信  243
9.7  小結(jié)  244
第10章 Clojure:更安全地編程  245
10.1  Clojure介紹  245
10.1.1  Clojure的Hello World  246
10.1.2  REPL入門  247
10.1.3  犯了錯誤  248
10.1.4  學(xué)著去愛括號  248
10.2  尋找Clojure:語法和語義  249
10.2.1  特殊形式新手營  249
10.2.2  列表、向量、映射和集  250
10.2.3  數(shù)學(xué)運算、相等和其他操作  252
10.3  使用函數(shù)和循環(huán)  253
10.3.1  一些簡單的Clojure函數(shù)  253
10.3.2  Clojure中的循環(huán)  255
10.3.3  讀取器宏和派發(fā)器  256
10.3.4  函數(shù)式編程和閉包  257
10.4  Clojure序列  258
10.4.1  懶序列  260
10.4.2  序列和變參函數(shù)  261
10.5  Clojure與Java的互操作  262
10.5.1  從Clojure中調(diào)用Java  262
10.5.2  Clojure值的Java類型  263
10.5.3  使用Clojure代理  264
10.5.4  用REPL做探索式編程  264
10.5.5  在Java中使用Clojure  265
10.6  Clojure并發(fā)  265
10.6.1  未來式與并行調(diào)用  266
10.6.2  ref形式  267
10.6.3  代理  271
10.7  小結(jié)  272
第四部分 多語種項目開發(fā)
第11章 測試驅(qū)動開發(fā)  274
11.1  TDD概覽  275
11.1.1  一個測試用例  276
11.1.2  多個測試用例  280
11.1.3  深入思考紅—綠—重構(gòu)循環(huán)  282
11.1.4  JUnit  283
11.2  測試替身  285
11.2.1  虛設(shè)對象  286
11.2.2  存根對象  287
11.2.3  偽裝替身  290
11.2.4  模擬對象  295
11.3  ScalaTest  296
11.4  小結(jié)  298
第12章 構(gòu)建和持續(xù)集成  300
12.1  與Maven 3相遇  302
12.2  Maven 3入門項目  303
12.3  用Maven 3構(gòu)建Java7developer項目  305
12.3.1  POM  305
12.3.2  運行示例  311
12.4  Jenkins:滿足CI需求  314
12.4.1  基礎(chǔ)配置  315
12.4.2  設(shè)置任務(wù)  316
12.4.3  執(zhí)行任務(wù)  319
12.5  Maven和Jenkins代碼指標(biāo)  320
12.5.1  安裝Jenkins插件  321
12.5.2  用Checkstyle保持代碼一致性  322
12.5.3  用FindBugs設(shè)定質(zhì)量標(biāo)桿  323
12.6  Leiningen  325
12.6.1  Leiningen入門  326
12.6.2  Leiningen的架構(gòu)  326
12.6.3  Hello Lein  327
12.6.4  用Leiningen做面向REPL的TDD  329
12.6.5  用Leiningen打包和部署  330
12.7  小結(jié)  332
第13章 快速Web開發(fā)  333
13.1  Java Web框架的問題  334
13.1.1  Java編譯為什么不好  335
13.1.2  靜態(tài)類型為什么不好  335
13.2  選擇Web框架的標(biāo)準(zhǔn)  336
13.3  Grails入門  338
13.4  Grails快速啟動項目  338
13.4.1  創(chuàng)建域?qū)ο蟆 ?40
13.4.2  測試驅(qū)動開發(fā)  340
13.4.3  域?qū)ο蟪志没 ?42
13.4.4  創(chuàng)建測試數(shù)據(jù)  343
13.4.5  控制器  343
13.4.6  GSP/JSP頁面  344
13.4.7  腳手架和UI的自動化創(chuàng)建  346
13.4.8  快速周轉(zhuǎn)的開發(fā)  347
13.5  深入Grails  347
13.5.1  日志  347
13.5.2  GORM:對象關(guān)系映射  348
13.5.3  Grails插件  349
13.6  Compojure入門  350
13.6.1  Hello Compojure  350
13.6.2  Ring和路由  352
13.6.3  Hiccup  353
13.7  我是不是一只水獺  353
13.7.1  項目設(shè)置  354
13.7.2  核心函數(shù)  357
13.8  小結(jié)  359
第14章 保持優(yōu)秀  361
14.1  對Java 8的期待  361
14.1.1  lambda表達式(閉包)  362
14.1.2  模塊化(拼圖Jigsaw)  363
14.2  多語言編程  365
14.2.1  語言的互操作性及元對象協(xié)議  365
14.2.2  多語言模塊化  366
14.3  未來的并發(fā)趨勢  367
14.3.1  多核的世界  367
14.3.2  運行時管理的并發(fā)  367
14.4  JVM的新方向  368
14.4.1  VM的合并  368
14.4.2  協(xié)同程序  369
14.4.3  元組  370
14.5  小結(jié)  372
附錄A  java7developer:源碼安裝  373
附錄B  glob模式語法及示例  380
附錄C  安裝備選JVM語言  382
附錄D  Jenkins的下載和安裝  388
附錄E  java7developer:Maven POM  390

本文鏈接:http://fangxuan.com.cn/java/139.html

網(wǎng)友評論

熱門文章
隨機文章
熱門標(biāo)簽
側(cè)欄廣告位