注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合Java經(jīng)典實(shí)例(第四版)

Java經(jīng)典實(shí)例(第四版)

Java經(jīng)典實(shí)例(第四版)

定 價:¥198.00

作 者: [美]伊恩·F.達(dá)爾文
出版社: 中國電力出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787519869731 出版時間: 2023-03-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書的主要內(nèi)容包括:編譯、運(yùn)行和調(diào)試方法。打包Java類和構(gòu)建應(yīng)用。處理、比較和重新組織文本。完成字符串和模式匹配的正則表達(dá)式。處理數(shù)字、日期和時間。利用集合、數(shù)組和其他類型建立數(shù)據(jù)結(jié)構(gòu)。面向?qū)ο蠛秃瘮?shù)式編程技術(shù)。輸入/輸出、目錄和文件系統(tǒng)操作??蛻舳撕头?wù)器端網(wǎng)絡(luò)編程。處理JSON實(shí)現(xiàn)數(shù)據(jù)交換。多線程和并發(fā)。大數(shù)據(jù)應(yīng)用中使用Java。Java與其他語言的交互。

作者簡介

  Ian Darwin在軟件行業(yè)積累了豐富的經(jīng)驗(yàn),從Java的第d一版直到現(xiàn)在,他在很多平臺和不同類型的軟件上使用過Java。作為Sun/Oracle Java Champions的創(chuàng)始成員,Ian還是《Android Cookook》和其他一些書的作者。他一直在為計算機(jī)科學(xué)專業(yè)本科生以及Learning Tree International(一家領(lǐng)l先的職業(yè)發(fā)展培訓(xùn)公司)編寫教材和講授課程。

圖書目錄

目錄
前言 .1
第1 章 入門:編譯和運(yùn)行Java .19
1.0 引言 19
1.1 編譯和運(yùn)行Java:標(biāo)準(zhǔn)JDK . 20
1.2 編譯和運(yùn)行Java:GraalVM 提高性能 . 22
1.3 用IDE 編譯、運(yùn)行和測試 24
1.4 用JShell 探索Java . 29
1.5 有效地使用CLASSPATH 32
1.6 下載和使用代碼示例 . 34
1.7 用Apache Maven 自動管理依賴、編譯、測試和部署 . 42
1.8 用Gradle 自動管理依賴、編譯、測試和部署 48
1.9 處理廢棄警告 50
1.10 利用單元測試維護(hù)代碼正確性:JUnit 52
1.11 利用持續(xù)集成維護(hù)代碼 56
1.12 獲取可讀的棧軌跡 61
1.13 查找更多Java 源代碼 . 61
1.14 查找可運(yùn)行的Java 庫 . 62
第2 章 環(huán)境交互 66
2.0 引言 66
2.1 獲得環(huán)境變量 66
2.2 從系統(tǒng)屬性獲得信息 . 68
2.3 處理依賴于Java 版本或操作系統(tǒng)的代碼 70
2.4 使用擴(kuò)展或其他打包API 75
2.5 使用Java 模塊系統(tǒng) . 76
第3 章 字符串相關(guān)問題 82
3.0 引言 82
3.1 利用子串或詞法分析分解字符串 86
3.2 用Stringuilder 合并字符串 . 91
3.3 逐字符處理字符串 94
3.4 字符串對齊、縮進(jìn)和取消縮進(jìn) . 96
3.5 Unicode 字符與字符串之間的轉(zhuǎn)換 100
3.6 按單詞或字符逆轉(zhuǎn)字符串 . 103
3.7 展開和壓縮制表符 104
3.8 控制大小寫 109
3.9 輸入非打印字符 111
3.10 刪除字符串末尾的空白符 112
3.11 使用國際化資源創(chuàng)建消息 115
3.12 使用特定的本地化環(huán)境 118
3.13 創(chuàng)建資源包 120
3.14 程序:一個簡單的文本格式化工具 121
3.15 程序:Soundex 名字比較 123
第4 章 使用正則表達(dá)式實(shí)現(xiàn)模式匹配 127
4.0 引言 . 127
4.1 正則表達(dá)式語法 . 130
4.2 在Java 中使用正則表達(dá)式:測試模式 137
4.3 查找匹配文本 . 141
4.4 替換匹配文本 . 144
4.5 打印一個模式的所有匹配 . 148
4.6 打印包含一個模式的行 . 151
4.7 用正則表達(dá)式控制大小寫 . 152
4.8 匹配重音或組合字符 154
4.9 匹配文本中的換行符 155
4.10 程序: Apache 日志文件解析 157
4.11 程序: 完整的Grep . 159
第5 章 數(shù)字 166
5.0 引言 . 166
5.1 檢查字符串是否是一個合法的數(shù) . 169
5.2 數(shù)字與對象的轉(zhuǎn)換 170
5.3 直接使用分?jǐn)?shù)而不使用浮點(diǎn)數(shù) 172
5.4 處理浮點(diǎn)數(shù) 173
5.5 格式化數(shù)字 179
5.6 二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制間的轉(zhuǎn)換 183
5.7 處理整數(shù)序列 . 184
5.8 格式化為正確的復(fù)數(shù)形式 . 186
5.9 生成隨機(jī)數(shù) 189
5.10 矩陣乘法 . 192
5.11 使用復(fù)數(shù) . 194
5.12 處理非常大的數(shù) 197
5.13 程序:TempConverter 200
5.14 程序:數(shù)字回文 202
第6 章 日期和時間 207
6.0 引言 . 207
6.1 獲得當(dāng)天日期 . 210
6.2 格式化日期和時間 212
6.3 日期/ 時間、YMDHMS 和紀(jì)元秒之間的轉(zhuǎn)換 214
6.4 將字符串解析為日期 216
6.5 兩個日期之差 . 217
6.6 日期加上或減去一個時間段 219
6.7 處理重復(fù)事件 . 220
6.8 計算涉及時區(qū)的日期 223
6.9 與遺留Date 和Calendar 類交互 225
第7 章 Java 數(shù)據(jù)結(jié)構(gòu). 227
7.0 引言 . 227
7.1 用數(shù)組建立數(shù)據(jù)結(jié)構(gòu) 228
7.2 調(diào)整數(shù)組大小 . 230
7.3 集合框架 231
7.4 與數(shù)組類似,但更動態(tài) . 233
7.5 自己的類中使用泛型類型 . 237
7.6 所有迭代方法 . 241
7.7 用Set 避免重復(fù) . 245
7.8 用鏈表建立數(shù)據(jù)結(jié)構(gòu) 246
7.9 用Hashtale 和HashMap 建立映射. 252
7.10 在Properties 和Preferences 中存儲字符串 255
7.11 集合排序 . 260
7.12 避免顯式排序 265
7.13 在集合中查找對象 . 267
7.14 將一個Collection 轉(zhuǎn)換為數(shù)組 . 270
7.15 使數(shù)據(jù)可迭代 271
7.16 使用對象棧 274
7.17 多維結(jié)構(gòu) . 278
7.18 用Lomok 或Record 簡化數(shù)據(jù)對象 280
7.19 程序: 計時比較 283
第8 章 面向?qū)ο蠹夹g(shù) 286
8.0 引言 . 286
8.1 對象方法:用toString() 格式化對象,用equals 比較對象 . 289
8.2 使用內(nèi)部類 298
8.3 通過接口提供回調(diào) 300
8.4 多態(tài)/ 抽象方法 . 305
8.5 使用類型安全的枚舉 307
8.6 用Optional 避免NPE 311
8.7 保證單例模式 . 314
8.8 創(chuàng)建自己的異常 316
8.9 使用依賴注入 . 318
8.10 程序:繪圖儀 322
第9 章 函數(shù)式編程技術(shù):函數(shù)接口、流和并行集合 326
9.0 引言 . 326
9.1 使用Lamda/Closures 而不是內(nèi)部類 . 330
9.2 使用lamda 預(yù)定義接口而不是自定義接口 334
9.3 用Stream 簡化處理 . 337
9.4 用Collector 簡化流 339
9.5 用并行流和集合提高吞吐量 342
9.6 利用方法引用將已有代碼用作為函數(shù)式接口 344
9.7 Java Mixin:方法混入 349
第10 章 輸入和輸出:讀、寫和目錄技巧 351
10.0 引言 351
10.1 關(guān)于InputStream/OutputStream 和Reader/Writer . 353
10.2 讀文本文件 355
10.3 從標(biāo)準(zhǔn)輸入或控制臺/ 控制終端讀取 358
10.4 用Formatter 和printf 打印 362
10.5 用StreamTokenizer 掃描輸入 366
10.6 用Scanner 類掃描輸入 371
10.7 掃描有語法結(jié)構(gòu)的輸入 375
10.8 復(fù)制文件 . 380
10.9 重新分配標(biāo)準(zhǔn)流 382
10.10 寫時復(fù)制流,重新分配標(biāo)準(zhǔn)流 . 383
10.11 讀/ 寫不同的字符集 386
10.12 討厭的行尾字符 388
10.13 當(dāng)心依賴平臺的文件代碼 389
10.14 讀/ 寫二進(jìn)制數(shù)據(jù) 390
10.15 讀寫JAR 或ZIP 歸檔 391
10.16 使用getResource() 和getResourceAsStream()
采用文件系統(tǒng)中立方式查找文件 395
10.17 獲取文件信息:Files 和Path . 397
10.18 創(chuàng)建新文件或目錄 406
10.19 改變文件名或其他屬性 408
10.20 刪除文件 410
10.21 創(chuàng)建瞬時/ 臨時文件 413
10.22 列出目錄內(nèi)容 416
10.23 獲得目錄的根 417
10.24 使用FileWatcher 服務(wù)得到文件變更通知 418
10.25 程序:將用戶數(shù)據(jù)保存到磁盤 . 421
10.26 程序:查找—遍歷文件樹 425
第11 章 數(shù)據(jù)科學(xué)與R 431
11.1 使用Java 完成機(jī)器學(xué)習(xí) . 432
11.2 在Apache Spark 中使用數(shù)據(jù) 433
11.3 交互式使用R 436
11.4 比較/ 選擇R 實(shí)現(xiàn) . 439
11.5 在Java 應(yīng)用中使用R:Renjin 441
11.6 從R 會話使用Java 443
11.7 使用FastR(R 的GraalVM 實(shí)現(xiàn)) 445
11.8 在We 應(yīng)用中使用R 446
第12 章 網(wǎng)絡(luò)客戶端 449
12.0 引言 449
12.1 HTTP/REST We 客戶端 452
12.2 連接socket 服務(wù)器 454
12.3 查找和報告網(wǎng)絡(luò)地址 456
12.4 處理網(wǎng)絡(luò)錯誤 458
12.5 讀寫文本數(shù)據(jù) 459
12.6 讀寫二進(jìn)制或串行化數(shù)據(jù) 462
12.7 UDP 數(shù)據(jù)報 466
12.8 URI, URL 還是URN? 469
12.9 程序: TFTP UDP 客戶端 470
12.10 程序: 基于Socket 的聊天客戶端 475
12.11 程序: 簡單的HTTP 鏈接檢查工具 . 480
第13 章 服務(wù)器端Java 482
13.0 引言 482
13.1 打開服務(wù)器Socket 483
13.2 查找網(wǎng)絡(luò)接口 486
13.3 返回響應(yīng)(字符串或二進(jìn)制數(shù)據(jù)) 487
13.4 通過網(wǎng)絡(luò)連接返回對象信息 . 491
13.5 處理多個客戶端 493
13.6 提供HTTP 協(xié)議 498
13.7 用SSL 和JSSE 保護(hù)We 服務(wù)器 501
13.8 用JAX-RS 創(chuàng)建REST 服務(wù) 504
13.9 網(wǎng)絡(luò)日志 . 507
13.10 創(chuàng)建SLF4J . 509
13.11 使用Log4j 生成網(wǎng)絡(luò)日志 511
13.12 用java.util.logging 生成網(wǎng)絡(luò)日志 517
第14 章 處理JSON 數(shù)據(jù) 522
14.0 引言 522
14.1 直接生成JSON 524
14.2 用Jackson 解析和寫JSON 526
14.3 用org.json 解析和寫JSON 527
14.4 用JSON- 解析和寫JSON 530
14.5 用JSON Pointer 查找JSON 元素 . 531
第15 章 包和打包 . 535
15.0 引言 535
15.1 創(chuàng)建包 . 536
15.2 用Javadoc 建立類文檔 538
15.3 超越Javadoc: 注解/ 元數(shù)據(jù) . 542
15.4 準(zhǔn)備一個類作為Javaean . 544
15.5 用JAR 歸檔 549
15.6 從一個JAR 運(yùn)行程序 550
15.7 將We 層組件打包到WAR 文件 553
15.8 用jlink 創(chuàng)建更小的發(fā)布包 554
15.9 使用JPMS 創(chuàng)建模塊. 556
第16 章 Java 線程 560
16.0 引言 560
16.1 在不同線程中運(yùn)行代碼 562
16.2 用動畫顯示動圖 567
16.3 停止線程 . 573
16.4 交會和超時 576
16.5 用synchronized 關(guān)鍵字同步線程 577
16.6 用鎖簡化同步 585
16.7 用Queue 接口簡化生產(chǎn)者/ 消費(fèi)者 589
16.8 用Fork/Join 優(yōu)化并行處理 592
16.9 調(diào)度任務(wù):將來,編輯器的后臺保存 . 596
第17 章 反射或“名為Class 的類” 601
17.0 引言 601
17.1 獲得類描述符 602
17.2 查找和使用方法和字段 603
17.3 通過反射訪問私有方法和字段 608
17.4 動態(tài)加載和實(shí)例化一個類 609
17.5 用ClassLoader 從頭構(gòu)造一個類 . 612
17.6 用JavaCompiler 從頭構(gòu)造一個類 614
17.7 性能計時 . 617
17.8 打印類信息 622
17.9 列出一個包中的類 . 624
17.10 使用和定義注解 627
17.11 通過注解查找類似插件的類 633
17.12 程序: CrossRef . 636
第18 章 結(jié)合使用Java 和其他語言 641
18.0 引言 641
18.1 從Java 運(yùn)行外部程序 642
18.2 運(yùn)行程序并捕獲輸出 647
18.3 通過javax.script 調(diào)用其他語言 651
18.4 用GraalVM 混合語言 654
18.5 結(jié)合Java 和Perl . 655
18.6 通過原生代碼調(diào)用其他語言 . 659
18.7 從原生代碼調(diào)用Java 666
附錄 Java 前世今生 . 669
后記 681

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號