Java 8實戰 Java 8新特性 編程 程序

Java 8實戰 Java 8新特性 編程 程序 pdf epub mobi txt 電子書 下載 2025

[英] Raoul-Gabriel Urma 著
圖書標籤:
  • Java8
  • 函數式編程
  • Lambda錶達式
  • Stream API
  • Optional
  • 默認方法
  • 接口
  • 並發編程
  • 集閤
  • 實用技巧
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 藍墨水圖書專營店
齣版社: 人民郵電齣版社
ISBN:9787115419347
商品編碼:10274750325
齣版時間:2016-05-01

具體描述


基本信息

  • 作者:      
  • 譯者:
  • 叢書名:
  • 齣版社:
  • ISBN:9787115419347
  • 齣版日期:2016 年5月
  • 開本:16開
  • 頁碼:368
  • 版次:1-1
  • 所屬分類:
     
  • 目錄

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

用戶評價

評分

活動價格不錯

評分

非常的java8解釋

評分

非常的java8解釋

評分

非常的java8解釋

評分

非常的java8解釋

評分

搜到搜狗呢

評分

搜到搜狗呢

評分

非常的java8解釋

評分

非常的java8解釋

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有