注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Java 12程序設(shè)計學(xué)習(xí)指南

Java 12程序設(shè)計學(xué)習(xí)指南

Java 12程序設(shè)計學(xué)習(xí)指南

定 價:¥89.90

作 者: [美]尼克·薩莫耶洛夫 (Nick Samoylov) 著 沈澤剛 王永勝 譯
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302570684 出版時間: 2021-04-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 385 字?jǐn)?shù):  

內(nèi)容簡介

  本書以Java 12為基礎(chǔ),全面系統(tǒng)地介紹Java語言,并引導(dǎo)讀者進入**的Java編程領(lǐng)域。全書分為三部分,共包括19章。部分為Java編程概述,包括第1~3章,主要講解Java 12入門知識,Java面向?qū)ο缶幊毯蚃ava基礎(chǔ)知識;第二部分為Java主要構(gòu)建單元,包括第4~12章,主要講解異常處理,字符串、輸入輸出和文件,數(shù)據(jù)結(jié)構(gòu)、泛型和流行實用工具,Java標(biāo)準(zhǔn)庫和外部庫,多線程和并發(fā)處理,JVM結(jié)構(gòu)和垃圾收集,數(shù)據(jù)庫數(shù)據(jù)管理,網(wǎng)絡(luò)編程以及Java GUI編程等;第三部分為Java高級階段,包括第13~19章,主要講解函數(shù)式編程,Java標(biāo)準(zhǔn)流,反應(yīng)式編程,微服務(wù)架構(gòu),Java微基準(zhǔn)測試工具,高質(zhì)量代碼編寫**實踐以及Java的**特征。 本書內(nèi)容豐富全面,適用于任何想學(xué)習(xí)Java的讀者。學(xué)習(xí)本書內(nèi)容不需要讀者具有Java專業(yè)知識或任何其他編程語言知識。本書可供高等院校學(xué)生和教師參考,也可供軟件開發(fā)人員和Java愛好者參考,是學(xué)習(xí)Java編程的參考資料。

作者簡介

  沈澤剛,男,1964年生,渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院,教授。研究方向包括程序設(shè)計方法、數(shù)據(jù)庫技術(shù)以及Web信息集成等。主要從事計算機科學(xué)與技術(shù)專業(yè)科研及教學(xué)工作,出版專著1部,主編教材4部,近年來發(fā)表學(xué)術(shù)論文10多篇。為本科生、碩士生及留學(xué)生講授專業(yè)課程多門。

圖書目錄

部分  Java編程概述
第1章  Java 12入門知識 3
1.1  如何安裝和運行Java 3
1.1.1  何為JDK以及為何需要JDK 4
1.1.2  Java SE的安裝 4
1.1.3  命令和實用工具 5
1.2  集成開發(fā)環(huán)境 6
1.2.1  選擇一種IDE 6
1.2.2  安裝和配置IntelliJ IDEA 7
1.2.3  創(chuàng)建項目 8
1.2.4  從命令行執(zhí)行示例程序 13
1.3  Java基本類型和運算符 14
1.3.1  boolean(布爾)類型 14
1.3.2  數(shù)值類型 14
1.3.3  基本類型的默認(rèn)值 17
1.3.4  基本類型的字面值 17
1.3.5  新增的壓縮數(shù)字格式 19
1.3.6  運算符 19
1.4  String(字符串)類型和字面值 22
1.4.1  字符串字面值 23
1.4.2  字符串不變性 24
1.5  標(biāo)識符和變量 25
1.5.1  標(biāo)識符 25
1.5.2  變量聲明(定義)與初始化 25
1.5.3  類型持有器var 26
1.6  Java語句 26
1.6.1  表達式語句 27
1.6.2  控制流語句 27
本章小結(jié) 35
第2章  Java面向?qū)ο缶幊?36
2.1  OOP概念 36
2.1.1  對象/類 37
2.1.2  繼承 37
2.1.3  抽象/接口 38
2.1.4  封裝 39
2.1.5  多態(tài)性 39
2.2  類 39
2.2.1  方法 40
2.2.2  可變參數(shù)方法 41
2.2.3  構(gòu)造方法 42
2.2.4  new運算符 44
2.2.5  java.lang.Object類 45
2.2.6  實例屬性和方法以及靜態(tài)屬性和方法 46
2.3  接口 48
2.3.1  默認(rèn)方法 49
2.3.2  私有方法 50
2.3.3  靜態(tài)字段和方法 50
2.3.4  接口與抽象類對比 50
2.4  重載、覆蓋與隱藏 51
2.4.1  重載 51
2.4.2  覆蓋 52
2.4.3  隱藏 54
2.5  final變量、final方法和final類 56
2.5.1  final變量 56
2.5.2  final方法 57
2.5.3  final類 57
2.6  多態(tài)性實戰(zhàn) 58
2.6.1  對象工廠 58
2.6.2  instanceof運算符 60
本章小結(jié) 61
第3章  Java基礎(chǔ)知識 62
3.1  包、導(dǎo)入和訪問修飾符 62
3.1.1  包 63
3.1.2  導(dǎo)入 63
3.1.3  訪問修飾符 64
3.2  Java引用類型 66
3.2.1  類與接口 67
3.2.2  數(shù)組 67
3.2.3  枚舉 68
3.2.4  默認(rèn)值與字面值 70
3.2.5  引用類型作為方法參數(shù) 70
3.2.6  equals()方法 72
3.3  保留和受限關(guān)鍵字 74
3.3.1  保留關(guān)鍵字 74
3.3.2  受限關(guān)鍵字 75
3.4  this和super兩個關(guān)鍵字的用法 75
3.4.1  this關(guān)鍵字的用法 75
3.4.2  super關(guān)鍵字的用法 76
3.5  基本類型間的轉(zhuǎn)換 77
3.5.1  加寬轉(zhuǎn)換 77
3.5.2  縮窄轉(zhuǎn)換 78
3.5.3  轉(zhuǎn)換方法 78
3.6  基本類型和引用類型間的轉(zhuǎn)換 80
3.6.1  裝箱 80
3.6.2  拆箱 81
本章小結(jié) 82
第二部分  Java主要構(gòu)建單元
第4章  異常處理 85
4.1  Java異常處理框架 85
4.2  受檢型異常和非受檢型異常 86
4.3  try塊、catch塊和finally塊 88
4.4  throws語句 89
4.5  throw語句 90
4.6  assert語句 91
4.7  異常處理中實踐 92
本章小結(jié) 92
第5章  字符串、輸入輸出和文件 93
5.1  字符串處理 93
5.1.1  String類處理方法 93
5.1.2  String實用工具 97
5.2  I/O流 99
5.2.1  流數(shù)據(jù) 99
5.2.2  InputStream類及其子類 100
5.2.3  OutputStream類及其子類 107
5.2.4  Reader類和Writer類及其子類 109
5.2.5  java.io包中其他類 111
5.2.6  java.util.Scanner類 117
5.3  文件管理 119
5.3.1  創(chuàng)建和刪除文件和目錄 119
5.3.2  列出文件和目錄 120
5.4  Apache的FileUtils和IOUtils實用工具 121
5.4.1  FileUtils類 122
5.4.2  IOUtils類 122
本章小結(jié) 123
第6章  數(shù)據(jù)結(jié)構(gòu)、泛型和流行實用工具 124
6.1  List接口、Set接口和Map接口 124
6.1.1  泛型 125
6.1.2  如何對List和Set初始化 125
6.1.3  java.lang.Iterable接口 128
6.1.4  Collection接口 128
6.1.5  List接口 130
6.1.6  Set接口 131
6.1.7  Map接口 132
6.1.8  不可修改的集合 134
6.2  Collections實用工具 134
6.2.1  java.util.Collections類 134
6.2.2  org.apache.commons.collections4.CollectionUtils類 136
6.3  Arrays實用工具 137
6.3.1  java.util.Arrays類 137
6.3.2  org.apache.commons.lang3.ArrayUtils類 138
6.4  Objects實用工具 139
6.4.1  java.util.Objects類 139
6.4.2  org.apache.commons.long3.ObjectUtils類 142
6.5  java.time包 142
6.5.1  LocalDate類 142
6.5.2  LocalTime類 145
6.5.3  LocalDateTime類 145
6.5.4  Period類和Duration類 146
本章小結(jié) 147
第7章  Java標(biāo)準(zhǔn)庫和外部庫 148
7.1  Java類庫 148
7.1.1  java.lang包 149
7.1.2  java.util包 150
7.1.3  java.time包 150
7.1.4  java.io包和java.nio包 151
7.1.5  java.sql包和javax.sql包 151
7.1.6  java.net包 151
7.1.7  java.lang.Math類和java.math包 151
7.1.8  java.awt包、javax.swing包和javafx包 151
7.2  Java外部庫 152
7.2.1  org.junit包 152
7.2.2  org.mockito包 153
7.2.3  org.apache.log4j包和org.slf4j包 154
7.2.4  org.apache.commons包 156
本章小結(jié) 159
第8章  多線程和并發(fā)處理 160
8.1  線程與進程對比 160
8.2  用戶線程與守護線程對比 160
8.3  Thread類的擴展 161
8.4  Runnable接口的實現(xiàn) 162
8.5  Thread類的擴展與Runnable接口的實現(xiàn)對比 163
8.6  線程池的使用 164
8.7  如何從線程獲得結(jié)果 169
8.8  并行處理與并發(fā)處理對比 173
8.9  相同資源的并發(fā)修改 173
8.9.1  原子變量 176
8.9.2  同步方法 177
8.9.3  同步塊 177
8.9.4  并發(fā)集合 178
8.9.5  內(nèi)存一致性錯誤的處理 180
本章小結(jié) 180
第9章  JVM結(jié)構(gòu)和垃圾收集 181
9.1  Java應(yīng)用程序的執(zhí)行 181
9.1.1  使用IDE 181
9.1.2  從命令行運行類 184
9.1.3  從命令行運行JAR文件 186
9.1.4  從命令行運行可執(zhí)行的JAR文件 187
9.2  Java進程 187
9.2.1  類的加載 189
9.2.2  類的鏈接 190
9.2.3  類的初始化 190
9.2.4  類的實例化 190
9.2.5  方法執(zhí)行 191
9.2.6  垃圾收集 191
9.2.7  應(yīng)用程序終止 191
9.3  JVM結(jié)構(gòu) 193
9.3.1  運行時數(shù)據(jù)區(qū) 193
9.3.2  類加載器 193
9.3.3  執(zhí)行引擎 193
9.4  垃圾收集 194
9.4.1  響應(yīng)時間、吞吐量和全局停頓 194
9.4.2  對象壽命和世代 194
9.4.3  全局停頓無法避免時 195
本章小結(jié) 195
第10章  數(shù)據(jù)庫數(shù)據(jù)管理 196
10.1  創(chuàng)建數(shù)據(jù)庫 196
10.2  創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu) 197
10.3  連接到數(shù)據(jù)庫 199
10.4  關(guān)閉連接 201
10.5  數(shù)據(jù)的CRUD操作 202
10.5.1  INSERT語句 202
10.5.2  SELECT語句 202
10.5.3  UPDATE語句 203
10.5.4  DELETE語句 204
10.5.5  使用Statement接口 204
10.5.6  使用PreparedStatement接口 208
10.5.7  使用CallableStatement接口 209
本章小結(jié) 210
第11章  網(wǎng)絡(luò)編程 211
11.1  網(wǎng)絡(luò)協(xié)議 211
11.2  基于UDP的通信 212
11.3  基于TCP的通信 215
11.3.1  java.net.ServerSocket類 216
11.3.2  java.net.Socket類 218
11.3.3  示例程序的運行 219
11.4  UDP與TCP對比 220
11.5  基于URL的通信 221
11.5.1  URL語法 221
11.5.2  java.net.URL類 222
11.6  使用HTTP 2客戶端API 226
11.6.1  阻塞HTTP請求 227
11.6.2  非阻塞(異步)HTTP請求 229
11.6.3  服務(wù)器推送功能 233
11.6.4  WebSocket支持 234
本章小結(jié) 235
第12章  Java GUI編程 236
12.1  Java GUI技術(shù) 236
12.2  JavaFX基礎(chǔ)知識 237
12.3  JavaFX簡單編程示例 239
12.4  控件元素 241
12.5  圖表 243
12.6  CSS的應(yīng)用 244
12.7  FXML的使用 246
12.8  HTML的嵌入 250
12.9  媒體的播放 256
12.10  特效的添加 259
本章小結(jié) 266
第三部分  Java高級階段
第13章  函數(shù)式編程 269
13.1  何為函數(shù)式編程 269
13.1.1  函數(shù)式接口 271
13.1.2  lambda表達式 272
13.1.3  lambda參數(shù)的局部變量語法 273
13.2  標(biāo)準(zhǔn)函數(shù)式接口 274
13.2.1  Consumer接口 274
13.2.2  Predicate接口 276
13.2.3  Supplier接口 277
13.2.4  Function接口 277
13.2.5  其他標(biāo)準(zhǔn)函數(shù)式接口 279
13.3  lambda表達式的限制 279
13.4  方法引用 280
本章小結(jié) 282
第14章  Java標(biāo)準(zhǔn)流 283
14.1  流——數(shù)據(jù)源和操作源 283
14.2  流的初始化 284
14.2.1  Stream接口 284
14.2.2  Stream.Builder接口 287
14.2.3  其他類和接口 288
14.3  操作(方法) 290
14.3.1  中間操作 290
14.3.2  終止操作 293
14.4  數(shù)值流接口 308
14.4.1  創(chuàng)建流 308
14.4.2  中間操作 308
14.4.3  終止操作 310
14.5  并行流 311
14.5.1  無狀態(tài)操作和有狀態(tài)操作 311
14.5.2  順序處理還是并行處理 312
本章小結(jié) 312
第15章  反應(yīng)式編程 313
15.1  異步處理 313
15.1.1  順序流和并行流 313
15.1.2  CompletableFuture對象的使用 315
15.2  非阻塞API 316
15.2.1  java.io包與java.nio包對比 316
15.2.2  事件/運行循環(huán) 316
15.3  反應(yīng)式體系 317
15.3.1  響應(yīng)性 318
15.3.2  復(fù)原性 318
15.3.3  靈活性 318
15.3.4  消息驅(qū)動 318
15.4  反應(yīng)式流 319
15.5  RxJava——Java反應(yīng)式擴展 320
15.5.1  Observable對象的劃分 321
15.5.2  Disposable對象 327
15.5.3  Observable對象的創(chuàng)建 328
15.5.4  操作符 330
15.5.5  多線程(調(diào)度器) 337
本章小結(jié) 341
第16章  微服務(wù)架構(gòu) 342
16.1  何為微服務(wù) 342
16.2  微服務(wù)架構(gòu)的規(guī)模 343
16.3  微服務(wù)架構(gòu)如何相互交流 344
16.4  微服務(wù)架構(gòu)的反應(yīng)式系統(tǒng) 346
16.4.1  HTTP服務(wù)器 346
16.4.2  EventBus消息接收器 349
16.4.3  EventBus消息發(fā)送器 350
16.4.4  反應(yīng)式系統(tǒng)演示 353
本章小結(jié) 354
第17章  Java微基準(zhǔn)測試工具 355
17.1  何為JMH 355
17.2  JMH基準(zhǔn)的創(chuàng)建 357
17.3  使用IDE插件運行基準(zhǔn) 358
17.4  JMH基準(zhǔn)參數(shù) 361
17.4.1  模式 361
17.4.2  輸出時間單位 361
17.4.3  迭代 361
17.4.4  分叉 361
17.5  JMH使用示例 362
17.5.1  使用@State注解 363
17.5.2  使用Blackhole對象 364
17.5.3  使用@CompilerControl注解 364
17.5.4  使用@Param注解 365
17.6  告誡之語 365
本章小結(jié) 366
第18章  高質(zhì)量代碼編寫實踐 367
18.1  Java行業(yè)慣用語、實現(xiàn)及用法 367
18.1.1  equals()方法和hashCode()方法 367
18.1.2  compareTo()方法 369
18.1.3  clone()方法 371
18.1.4  StringBuffer類和StringBuilder類 374
18.1.5  try子句、catch子句和finally子句 374
18.2  設(shè)計實踐 374
18.2.1  松耦合功能區(qū)的識別 374
18.2.2  功能區(qū)的傳統(tǒng)層劃分 374
18.2.3  接口代碼的編寫 375
18.2.4  工廠方法的使用 375
18.2.5  寧組合勿繼承 375
18.2.6  庫的使用 375
18.3  代碼為人而寫 375
18.4  測試——通向高質(zhì)量代碼的捷徑 376
本章小結(jié) 377
第19章  Java的特征 378
19.1  Java仍在繼續(xù)進化 378
19.2  Panama項目 379
19.3  Valhalla項目 379
19.4  Amber項目 380
19.4.1  數(shù)據(jù)類 380
19.4.2  模式匹配 381
19.4.3  原字符串字面值 382
19.4.4  簡潔方法體 382
19.4.5  lambda遺留 383
19.5  Loom項目 384
19.6  Skara項目 385
本章小結(jié) 385

本目錄推薦

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