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

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

Java 8實(shí)戰(zhàn) PDF下載

Java 8實(shí)戰(zhàn) PDF下載-第1張圖片 此部分為隱藏內(nèi)容,請(qǐng)輸入驗(yàn)證碼后查看
驗(yàn)證碼:


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

一.資料圖片

Java 8實(shí)戰(zhàn) PDF下載-第2張圖片

二.資料簡(jiǎn)介

本書全面介紹了Java 8 這個(gè)里程碑版本的新特性,包括Lambdas、流和函數(shù)式編程。有了函數(shù)式的編程特性,可以讓代碼更簡(jiǎn)潔,同時(shí)也能自動(dòng)化地利用多核硬件。全書分四個(gè)部分:基礎(chǔ)知識(shí)、函數(shù)式數(shù)據(jù)處理、高效Java 8 編程和超越Java 8,清晰明了地向讀者展現(xiàn)了一幅Java 與時(shí)俱進(jìn)的現(xiàn)代化畫卷。

三.作者簡(jiǎn)介

作者簡(jiǎn)介:

Raoul-Gabriel Urma

劍橋大學(xué)計(jì)算機(jī)科學(xué)博士,軟件工程師,演講者,培訓(xùn)師,Cambridge Coding Academy聯(lián)合創(chuàng)始人、CEO。曾與谷歌、eBay、甲骨文和高盛集團(tuán)等大公司合作,并參與過多個(gè)創(chuàng)業(yè)項(xiàng)目。撰寫過十余篇經(jīng)同行審閱的技術(shù)文章,并在國(guó)際會(huì)議上發(fā)表過40多篇演講。

Mario Fusco

Red Hat高級(jí)軟件工程師,負(fù)責(zé)JBoss規(guī)則引擎Drools的核心開發(fā)。擁有豐富的Java開發(fā)經(jīng)驗(yàn),曾領(lǐng)導(dǎo)媒體公司、金融部門等多個(gè)行業(yè)的企業(yè)級(jí)項(xiàng)目開發(fā)。對(duì)函數(shù)式編程和領(lǐng)域特定語(yǔ)言等有濃厚興趣,并創(chuàng)建了開放源碼庫(kù)lambdaj。

Alan Mycroft

劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室計(jì)算學(xué)教授,劍橋大學(xué)羅賓遜學(xué)院研究員,歐洲編程語(yǔ)言和系統(tǒng)協(xié)會(huì)聯(lián)合創(chuàng)始人,樹莓派基金會(huì)聯(lián)合創(chuàng)始人和理事。發(fā)表過大約100篇研究論文,指導(dǎo)過20多篇博士論文。他的研究主要關(guān)注編程語(yǔ)言及其語(yǔ)義、優(yōu)化和實(shí)施。他與業(yè)界聯(lián)系緊密,曾于學(xué)術(shù)休假期間在AT&T實(shí)驗(yàn)室和英特爾工作,還創(chuàng)立了Codemist公司,該公司設(shè)計(jì)了最初的ARM C編譯器Norcroft。

譯者簡(jiǎn)介:

陸明剛

畢業(yè)于四川大學(xué),目前在EMC中國(guó)卓越研發(fā)集團(tuán)任首席工程師,曾任趨勢(shì)科技中國(guó)軟件研發(fā)中心技術(shù)經(jīng)理,在信息科學(xué)和工程領(lǐng)域有十余年的實(shí)踐和研究經(jīng)驗(yàn),擁有多項(xiàng)中國(guó)及美國(guó)專利。關(guān)注JVM性能調(diào)優(yōu)和大數(shù)據(jù)及其實(shí)踐,喜歡挖掘技術(shù)背后的內(nèi)幕并樂此不疲。

勞佳

碩士畢業(yè)于上海交通大學(xué),現(xiàn)在SAP美國(guó)任高級(jí)軟件支持顧問。業(yè)余愛好語(yǔ)言、數(shù)學(xué)、設(shè)計(jì),近年翻譯出版了《咨詢的奧秘》《卓越程序員密碼》等書。

四.資料目錄

第一部分 基礎(chǔ)知識(shí)
第1章 為什么要關(guān)心Java 8  2
1.1 Java怎么還在變  4
1.1.1 Java在編程語(yǔ)言生態(tài)系統(tǒng)中的位置  4
1.1.2 流處理  6
1.1.3 用行為參數(shù)化把代碼傳遞給方法  7
1.1.4 并行與共享的可變數(shù)據(jù)  7
1.1.5 Java需要演變  8
1.2 Java中的函數(shù)  8
1.2.1 方法和Lambda作為一等公民  9
1.2.2 傳遞代碼:一個(gè)例子  11
1.2.3 從傳遞方法到Lambda  12
1.3 流  13
1.4 默認(rèn)方法  17
1.5 來自函數(shù)式編程的其他好思想  18
1.6 小結(jié)  19
第2章 通過行為參數(shù)化傳遞代碼  20
2.1 應(yīng)對(duì)不斷變化的需求  21
2.1.1 初試牛刀:篩選綠蘋果  21
2.1.2 再展身手:把顏色作為參數(shù)  21
2.1.3 第三次嘗試:對(duì)你能想到的每個(gè)屬性做篩選  22
2.2 行為參數(shù)化  23
2.3 對(duì)付啰嗦  27
2.3.1 匿名類  28
2.3.2 第五次嘗試:使用匿名類  28
2.3.3 第六次嘗試:使用Lambda表達(dá)式  30
2.3.4 第七次嘗試:將List類型抽象化  31
2.4 真實(shí)的例子  31
2.4.1 用Comparator來排序  31
2.4.2 用Runnable執(zhí)行代碼塊  32
2.4.3 GUI事件處理  32
2.5 小結(jié)  33
第3章 Lambda表達(dá)式  34
3.1 Lambda管中窺豹  35
3.2 在哪里以及如何使用Lambda  37
3.2.1 函數(shù)式接口  37
3.2.2 函數(shù)描述符  39
3.3 把Lambda付諸實(shí)踐:環(huán)繞執(zhí)行模式  41
3.3.1 第1步記得行為參數(shù)化  41
3.3.2 第2步:使用函數(shù)式接口來傳遞行為  42
3.3.3 第3步:執(zhí)行一個(gè)行為  42
3.3.4 第4步:傳遞Lambda  42
3.4 使用函數(shù)式接口  43
3.4.1 Predicate  44
3.4.2 Consumer  44
3.4.3 Function  45
3.5 類型檢查、類型推斷以及限制  49
3.5.1 類型檢查  49
3.5.2 同樣的Lambda,不同的函數(shù)式接口  50
3.5.3 類型推斷  51
3.5.4 使用局部變量  52
3.6 方法引用  53
3.6.1 管中窺豹  53
3.6.2 構(gòu)造函數(shù)引用  55
3.7 Lambda和方法引用實(shí)戰(zhàn)  57
3.7.1 第1步:傳遞代碼  58
3.7.2 第2步:使用匿名類  58
3.7.3 第3步:使用Lambda表達(dá)式  58
3.7.4 第4步:使用方法引用  59
3.8 復(fù)合Lambda表達(dá)式的有用方法  59
3.8.1 比較器復(fù)合  60
3.8.2 謂詞復(fù)合  60
3.8.3 函數(shù)復(fù)合  61
3.9 數(shù)學(xué)中的類似思想  62
3.9.1 積分  62
3.9.2 與Java 8的Lambda聯(lián)系起來  63
3.10 小結(jié)  64
第二部分 函數(shù)式數(shù)據(jù)處理
第4章 引入流  68
4.1 流是什么  68
4.2 流簡(jiǎn)介  72
4.3 流與集合  74
4.3.1 只能遍歷一次  75
4.3.2 外部迭代與內(nèi)部迭代  76
4.4 流操作  78
4.4.1 中間操作  78
4.4.2 終端操作  79
4.4.3 使用流  80
4.5 小結(jié)  81
第5章 使用流  82
5.1 篩選和切片  83
5.1.1 用謂詞篩選  83
5.1.2 篩選各異的元素  83
5.1.3 截短流  84
5.1.4 跳過元素  85
5.2 映射  86
5.2.1 對(duì)流中每一個(gè)元素應(yīng)用函數(shù)  86
5.2.2 流的扁平化  87
5.3 查找和匹配  90
5.3.1 檢查謂詞是否至少匹配一個(gè)元素  90
5.3.2 檢查謂詞是否匹配所有元素  90
5.3.3 查找元素  91
5.3.4 查找第一個(gè)元素  92
5.4 歸約  92
5.4.1 元素求和  93
5.4.2 最大值和最小值  94
5.5 付諸實(shí)踐  97
5.5.1 領(lǐng)域:交易員和交易  98
5.5.2 解答  99
5.6 數(shù)值流  101
5.6.1 原始類型流特化  101
5.6.2 數(shù)值范圍  102
5.6.3 數(shù)值流應(yīng)用:勾股數(shù)  103
5.7 構(gòu)建流  105
5.7.1 由值創(chuàng)建流  106
5.7.2 由數(shù)組創(chuàng)建流  106
5.7.3 由文件生成流  106
5.7.4 由函數(shù)生成流:創(chuàng)建無限流  107
5.8 小結(jié)  110
第6章 用流收集數(shù)據(jù)  111
6.1 收集器簡(jiǎn)介  112
6.1.1 收集器用作高級(jí)歸約  112
6.1.2 預(yù)定義收集器  113
6.2 歸約和匯總  114
6.2.1 查找流中的最大值和最小值  114
6.2.2 匯總  115
6.2.3 連接字符串  116
6.2.4 廣義的歸約匯總  117
6.3 分組  120
6.3.1 多級(jí)分組  121
6.3.2 按子組收集數(shù)據(jù)  122
6.4 分區(qū)  126
6.4.1 分區(qū)的優(yōu)勢(shì)  126
6.4.2 將數(shù)字按質(zhì)數(shù)和非質(zhì)數(shù)分區(qū)  128
6.5 收集器接口  129
6.5.1 理解Collector接口聲明的方法  130
6.5.2 全部融合到一起  134
6.6 開發(fā)你自己的收集器以獲得更好的性能  135
6.6.1 僅用質(zhì)數(shù)做除數(shù)  136
6.6.2 比較收集器的性能  139
6.7 小結(jié)  140
第7章 并行數(shù)據(jù)處理與性能  141
7.1 并行流  141
7.1.1 將順序流轉(zhuǎn)換為并行流  142
7.1.2 測(cè)量流性能  144
7.1.3 正確使用并行流  147
7.1.4 高效使用并行流  148
7.2 分支/合并框架  149
7.2.1 使用RecursiveTask  149
7.2.2 使用分支/合并框架的最佳做法  153
7.2.3 工作竊取  154
7.3 Spliterator  155
7.3.1 拆分過程  155
7.3.2 實(shí)現(xiàn)你自己的Spliterator  157
7.4 小結(jié)  162
第三部分 高效Java 8編程
第8章 重構(gòu)、測(cè)試和調(diào)試  164
8.1 為改善可讀性和靈活性重構(gòu)代碼  164
8.1.1 改善代碼的可讀性  165
8.1.2 從匿名類到Lambda表達(dá)式的轉(zhuǎn)換  165
8.1.3 從Lambda表達(dá)式到方法引用的轉(zhuǎn)換  166
8.1.4 從命令式的數(shù)據(jù)處理切換到Stream  167
8.1.5 增加代碼的靈活性  168
8.2 使用Lambda重構(gòu)面向?qū)ο蟮脑O(shè)計(jì)模式  170
8.2.1 策略模式  171
8.2.2 模板方法  172
8.2.3 觀察者模式  173
8.2.4 責(zé)任鏈模式  175
8.2.5 工廠模式  177
8.3 測(cè)試Lambda表達(dá)式  178
8.3.1 測(cè)試可見Lambda函數(shù)的行為  179
8.3.2 測(cè)試使用Lambda的方法的行為  179
8.3.3 將復(fù)雜的Lambda表達(dá)式分到不同的方法  180
8.3.4 高階函數(shù)的測(cè)試  180
8.4 調(diào)試  181
8.4.1 查看棧跟蹤  181
8.4.2 使用日志調(diào)試  183
8.5 小結(jié)  184
第9章 默認(rèn)方法   185
9.1 不斷演進(jìn)的API   187
9.1.1 初始版本的API  188
9.1.2 第二版API  188
9.2 概述默認(rèn)方法  190
9.3 默認(rèn)方法的使用模式  192
9.3.1 可選方法  192
9.3.2 行為的多繼承  192
9.4 解決沖突的規(guī)則  196
9.4.1 解決問題的三條規(guī)則  196
9.4.2 選擇提供了最具體實(shí)現(xiàn)的默認(rèn)方法的接口  197
9.4.3 沖突及如何顯式地消除歧義  198
9.4.4 菱形繼承問題  200
9.5 小結(jié)  201
第10章 用Optional取代null  202
10.1 如何為缺失的值建模   203
10.1.1 采用防御式檢查減少Null-PointerException  203
10.1.2 null帶來的種種問題  204
10.1.3 其他語(yǔ)言中null的替代品  205
10.2 Optional類入門  206
10.3 應(yīng)用Optional的幾種模式   207
10.3.1 創(chuàng)建Optional對(duì)象  208
10.3.2 使用map從Optional對(duì)象中提取和轉(zhuǎn)換值  208
10.3.3 使用flatMap鏈接Optional對(duì)象  209
10.3.4 默認(rèn)行為及解引用Optional對(duì)象  213
10.3.5 兩個(gè)Optional對(duì)象的組合  213
10.3.6 使用filter剔除特定的值  214
10.4 使用Optional的實(shí)戰(zhàn)示例   216
10.4.1 用Optional封裝可能為null的值  216
10.4.2 異常與Optional的對(duì)比  217
10.4.3 把所有內(nèi)容整合起來  218
10.5 小結(jié)  219
第11章 CompletableFuture:組合式異步編程  220
11.1 Future接口  222
11.1.1 Future接口的局限性  223
11.1.2 使用CompletableFuture構(gòu)建異步應(yīng)用  223
11.2 實(shí)現(xiàn)異步API   224
11.2.1 將同步方法轉(zhuǎn)換為異步方法  225
11.2.2 錯(cuò)誤處理  227
11.3 讓你的代碼免受阻塞之苦  228
11.3.1 使用并行流對(duì)請(qǐng)求進(jìn)行并行操作  229
11.3.2 使用CompletableFuture發(fā)起異步請(qǐng)求  230
11.3.3 尋找更好的方案  232
11.3.4 使用定制的執(zhí)行器  233
11.4 對(duì)多個(gè)異步任務(wù)進(jìn)行流水線操作  234
11.4.1 實(shí)現(xiàn)折扣服務(wù)  235
11.4.2 使用Discount服務(wù)  236
11.4.3 構(gòu)造同步和異步操作  237
11.4.4 將兩個(gè)Completable-Future對(duì)象整合起來,無論它們是否存在依賴  239
11.4.5 對(duì)Future和Completable-Future的回顧  241
11.5 響應(yīng)CompletableFuture的completion事件  242
11.5.1 對(duì)最佳價(jià)格查詢器應(yīng)用的優(yōu)化  243
11.5.2 付諸實(shí)踐  244
11.6 小結(jié)  245
第12章 新的日期和時(shí)間API  246
12.1 LocalDate、LocalTime、Instant、Duration以及Period  247
12.1.1 使用LocalDate和LocalTime  247
12.1.2 合并日期和時(shí)間  248
12.1.3 機(jī)器的日期和時(shí)間格式  249
12.1.4 定義Duration或Period  249
12.2 操縱、解析和格式化日期  251
12.2.1 使用TemporalAdjuster  253
12.2.2 打印輸出及解析日期-時(shí)間對(duì)象  255
12.3 處理不同的時(shí)區(qū)和歷法  256
12.3.1 利用和UTC/格林尼治時(shí)間的固定偏差計(jì)算時(shí)區(qū)  257
12.3.2 使用別的日歷系統(tǒng)  258
12.4 小結(jié)  259
第四部分 超越Java 8
第13章 函數(shù)式的思考  262
13.1 實(shí)現(xiàn)和維護(hù)系統(tǒng)  262
13.1.1 共享的可變數(shù)據(jù)  263
13.1.2 聲明式編程  264
13.1.3 為什么要采用函數(shù)式編程  265
13.2 什么是函數(shù)式編程  265
13.2.1 函數(shù)式Java編程  266
13.2.2 引用透明性  268
13.2.3 面向?qū)ο蟮木幊毯秃瘮?shù)式編程的對(duì)比   268
13.2.4 函數(shù)式編程實(shí)戰(zhàn)  269
13.3 遞歸和迭代  271
13.4 小結(jié)  274
第14章 函數(shù)式編程的技巧  275
14.1 無處不在的函數(shù)  275
14.1.1 高階函數(shù)  275
14.1.2 科里化  277
14.2 持久化數(shù)據(jù)結(jié)構(gòu)  278
14.2.1 破壞式更新和函數(shù)式更新的比較  279
14.2.2 另一個(gè)使用Tree的例子  281
14.2.3 采用函數(shù)式的方法  282
14.3 Stream的延遲計(jì)算  283
14.3.1 自定義的Stream   283
14.3.2 創(chuàng)建你自己的延遲列表  286
14.4 模式匹配  290
14.4.1 訪問者設(shè)計(jì)模式  291
14.4.2 用模式匹配力挽狂瀾  292
14.5 雜項(xiàng)  295
14.5.1 緩存或記憶表  295
14.5.2 “返回同樣的對(duì)象”意味著什么  296
14.5.3 結(jié)合器  296
14.6 小結(jié)  297
第15章 面向?qū)ο蠛秃瘮?shù)式編程的混合:Java 8和Scala的比較   299
15.1 Scala簡(jiǎn)介  300
15.1.1 你好,啤酒  300
15.1.2 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu):List、Set、Map、Tuple、Stream以及Option  302
15.2 函數(shù)  306
15.2.1 Scala中的一等函數(shù)  307
15.2.2 匿名函數(shù)和閉包  307
15.2.3 科里化  309
15.3 類和trait  310
15.3.1 更加簡(jiǎn)潔的Scala類  310
15.3.2 Scala的trait與Java 8的接口對(duì)比  311
15.4 小結(jié)  312
第16章 結(jié)論以及Java的未來  313
16.1 回顧Java 8的語(yǔ)言特性   313
16.1.1 行為參數(shù)化(Lambda 以及方法引用)  314
16.1.2 流  314
16.1.3 CompletableFuture  315
16.1.4 Optional  315
16.1.5 默認(rèn)方法  316
16.2 Java 的未來  316
16.2.1 集合  316
16.2.2 類型系統(tǒng)的改進(jìn)  317
16.2.3 模式匹配  318
16.2.4 更加豐富的泛型形式  319
16.2.5 對(duì)不變性的更深層支持  321
16.2.6 值類型  322
16.3 寫在最后的話  325
附錄A 其他語(yǔ)言特性的更新  326
附錄B 類庫(kù)的更新  330
附錄C 如何以并發(fā)方式在同一個(gè)流上執(zhí)行多種操作  338
附錄D Lambda表達(dá)式和JVM 字節(jié)碼  346


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

網(wǎng)友評(píng)論

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