Java 物聯網、人工智能和區塊鏈編程實戰 Practical Java Programming for IoT, AI, and Blockchain

Perry Xiao 王穎 周致成 黃星河 譯

  • Java 物聯網、人工智能和區塊鏈編程實戰-preview-1
  • Java 物聯網、人工智能和區塊鏈編程實戰-preview-2
  • Java 物聯網、人工智能和區塊鏈編程實戰-preview-3
Java 物聯網、人工智能和區塊鏈編程實戰-preview-1

買這商品的人也買了...

商品描述

主要內容 
● 更新對Java基礎知識的理解 
● 使用Git和GitHub進行Java版本控制 
● 使用Java進行編程,與操作系統、網絡和移動應用交互 
● 在物聯網和人工智能項目中使用Java 
● 使用Java通過公鑰和私鑰以及數字簽名來加密數據 
● 探討Java如何助力區塊鏈技術的發展 
● 在大數據應用中使用Java

作者簡介

Perry Xiao

博士是英國倫敦南岸大學工程學院的副教授兼課程主任。
他獲得了光電子學學士學位、固態物理學理學碩士學位和光物理學博士學位。
他是特許工程師(Chartered Engineer,CEng)、工程技術學院(Institution of Engineering and Technology,IET)的院士(Fellow,FIET)
和高等教育學院(Higher Education Academy,HEA)的高級院士(Senior Fellow,SFHEA) 。
Perry從事​​本科和研究生課程的電子、軟件、計算機網絡和電信學科的教學已有近二十年的時間。
他還每年指導BEng項目和MSc項目的學生。
他的主要研究興趣是為皮膚生物工程應用和工業無損檢測(nondestructive testing,NDT)開發新型的紅外和電子傳感技術。
迄今為止,Perry已經完成了七次博士生指導,獲得了兩項英國專利,
發表了100多篇科學論文,成為9種期刊的編輯審稿人,並獲得了近100萬英鎊的研究經費。

Perry還是英國Biox Systems有限公司的董事兼聯合創始人,這是一家校企,
設計和製造了世界上最先進的皮膚測量儀器AquaFlux和Epsilon,這些儀器已在全球範圍內得到廣泛應用,
包括領先的化妝品公司、大學、研究機構和醫院等。

目錄大綱

目    錄

第Ⅰ部分
第1章  Java簡介  3
1.1  什麽是Java  3
1.2  Java語言的版本  5
1.3  Java架構  6
1.4  Java平臺的版本  7
1.5  Java Spring框架  8
1.6  Java的優缺點  9
1.6.1  優點  9
1.6.2  缺點  9
1.7  Java認證  10
1.8  小結  10
1.9  本章復習題  10

第2章  Java編程入門  12
2.1  下載和安裝Java  12
2.2  Java IDE  15
2.3  Java程序Hello World  18
2.4  Java在線編譯器  21
2.5  Java在線代碼轉換器  27
2.6  Java免費在線課程和教程  28
2.7  Java版本控制  32
2.8  小結  32
2.9  本章復習題  32

第Ⅱ部分  
第3章  基本的Java編程  37
3.1  引言  38
3.2  變量  38
3.2.1  常數  40
3.2.2  String和StringBuffer類型  40
3.2.3  var變量類型  41
3.3  運算符  42
3.4  保留字  43
3.5  輸入和輸出  43
3.6  循環和選擇  46
3.7  數組、矩陣和ArrayList  48
3.8  讀寫文件  51
3.9  方法  53
3.10  面向對象編程  55
3.10.1  類和對象  55
3.10.2  實例化  55
3.10.3  封裝  55
3.10.4  繼承  55
3.10.5  覆蓋和重載  55
3.10.6  多態性  56
3.10.7  對象的可訪問性  56
3.10.8  匿名內部類  56
3.11  多線程  59
3.11.1  線程的生命周期  64
3.11.2  線程的優先級  66
3.11.3  線程調度  66
3.11.4  線程同步  67
3.12  日期、時間、計時器和睡眠方法  68
3.13  執行系統命令  72
3.14  大規模的軟件包和編程  74
3.15  軟件工程  77
3.15.1  軟件的開發周期  77
3.15.2  縮進  78
3.15.3  註釋  79
3.15.4  命名約定  80
3.16  部署Java應用  80
3.16.1  使用Windows批處理文件  81
3.16.2  使用可執行的JAR文件  82
3.16.3  使用Microsoft Visual Studio  83
3.16.4  Java應用的安裝  84
3.17  小結  84
3.18  本章復習題  85

第4章  面向Windows應用的Java編程  86
4.1  引言  86
4.2  Java Swing應用  87
4.3  JavaFX應用  91
4.3.1  JavaFX窗口  92
4.3.2  在JavaFX中創建標簽和按鈕  94
4.3.3  JavaFX圖表  95
4.3.4  在JavaFX中處理用戶登錄  97
4.3.5  在JavaFX中創建圖像查看器  99
4.3.6  創建JavaFX Web查看器  100
4.3.7  在JavaFX中創建菜單  101
4.3.8  創建JavaFX文件選擇對話框  103
4.3.9  JavaFX教程  105
4.4  部署JavaFX應用  108
4.5  小結  109
4.6  本章復習題  109

第5章  面向網絡應用的Java編程  110
5.1  簡介  110
5.1.1  局域網和廣域網  113
5.1.2  思科的三層企業網絡架構  113
5.1.3  關鍵網絡組件  113
5.1.4  傳統網絡與軟件定義網絡  114
5.2  Java網絡信息編程  116
5.3  Java套接字編程  121
5.3.1  Java UDP客戶端-服務器編程  121
5.3.2  Java TCP客戶端-服務器編程  123
5.3.3  Java多線程回顯服務器編程  126
5.4  Java HTTP編程  128
5.4.1  Java HTTP/HTTPS客戶端  128
5.4.2  Java HTTP服務器  134
5.4.3  Java多線程HTTP服務器  136
5.5  Java電子郵件SMTP編程  139
5.6  Java RMI客戶端-服務器編程  143
5.7  SDN入門  146
5.7.1  OpenFlow入門  146
5.7.2  Floodlight入門  153
5.7.3  OpenDaylight入門  153
5.8  Java網絡編程資源  154
5.9  小結  154
5.10  本章復習題  154

第6章  面向移動應用的Java編程  155
6.1  引言  155
6.2  Android Studio  156
6.3  Hello World應用  157
6.4  Button和TextView組件的應用  163
6.5  傳感器應用  166
6.6  部署Android應用  169
6.7  Android應用中activity的生命周期  170
6.8  MIT App Inventor  171
6.9  5G  179
6.9.1  毫米波  181
6.9.2  小蜂窩  181
6.9.3  大規模MIMO  182
6.9.4  波束成形  182
6.9.5  全雙工  182
6.9.6  未來的6G和7G  182
6.10  小結  183
6.11  本章復習題  183

第Ⅲ部分
第7章  面向物聯網應用的Java編程  187
7.1  什麽是物聯網  187
7.2  物聯網通信協議  190
7.2.1  MQTT  191
7.2.2  CoAP  191
7.2.3  XMPP  192
7.2.4  SOAP  192
7.2.5  REST  192
7.3  物聯網平臺  192
7.4  物聯網安全  193
7.5  為什麽使用Java  193
7.6  使用樹莓派的Java物聯網  193
7.6.1  設置樹莓派  196
7.6.2  Java GPIO示例  198
7.6.3  從Java程序中調用Python程序  205
7.6.4  Java PWM示例  206
7.6.5  Java PIR和LED示例  208
7.6.6  Java I2C示例  210
7.6.7  Java ADC示例  213
7.6.8  Java數字傳感器示例  217
7.6.9  Java MQTT示例  221
7.6.10  Java REST示例  223
7.7  Oracle Java ME嵌入式客戶端  227
7.8  適用於Java的物聯網平臺  227
7.8.1  Eclipse Open IoT Stack  227
7.8.2  IBM Watson IoT  228
7.8.3  AWS IoT  228
7.8.4  Microsoft Azure IoT  229
7.9  小結  229
7.10  本章復習題  229

第8章  面向人工智能應用的Java編程  231
8.1  什麽是人工智能  231
8.1.1  人工智能的研究歷史  233
8.1.2  雲人工智能與邊緣人工智能  234
8.2  神經網絡  235
8.2.1  感知器  236
8.2.2  多層感知器與反向傳播/前饋神經網絡  238
8.3  機器學習  240
8.4  深度學習  241
8.5  Java AI庫  244
8.6  神經網絡方面的Java示例  245
8.6.1  Java感知器示例  245
8.6.2  Java神經網絡反向傳播示例  248
8.7  機器學習方面的Java示例  251
8.8  深度學習方面Java示例  255
8.9  適用於Java的TensorFlow  259
8.10  AI資源  262
8.11  小結  263
8.12  本章復習題  263

第9章  面向網絡安全應用的Java編程  264
9.1  什麽是網絡安全  265
9.2  什麽是加密  265
9.2.1  私鑰加密  266
9.2.2  公鑰加密  267
9.3  哈希函數和消息摘要  271
9.4  數字簽名  272
9.5  數字證書  273
9.6  案例研究1:安全電子郵件  275
9.7  案例研究2:安全網絡  276
9.8  Java私鑰加密示例  276
9.9  Java公鑰加密示例  277
9.10  Java數字簽名/消息摘要示例  279
9.11  Java數字證書示例  284
9.12  其他Java示例  289
9.13  小結  289
9.14  本章復習題  289

第10章  面向區塊鏈應用的Java編程  290
10.1  什麽是區塊鏈  291
10.2  如何驗證區塊鏈  292
10.3  如何挖掘區塊  292
10.4  區塊鏈的工作方式  293
10.5  區塊鏈的應用  294
10.5.1  比特幣  294
10.5.2  智能合約  298
10.5.3  醫療  299
10.5.4  製造業和供應鏈  299
10.5.5  物聯網  300
10.5.6  政務  300
10.6  關於區塊鏈的一些問題  300
10.7  Java區塊鏈示例  300
10.8  Java區塊鏈交易示例  305
10.9  Java BitcoinJ示例  311
10.10  Java Web3j示例  312
10.11  Java EthereumJ示例  315
10.12  Java Ethereum智能合約示例  316
10.13  更進一步:選擇區塊鏈平臺  322
10.14  小結  323
10.15  本章復習題  323

第11章  面向大數據應用的Java編程  324
11.1  什麽是大數據  324
11.2  大數據的來源  325
11.3  大數據的三個V  326
11.4  大數據分析帶來的好處  326
11.5  什麽是Hadoop  326
11.6  Hadoop的關鍵組件  327
11.6.1  HDFS  327
11.6.2  MapReduce  328
11.6.3  Hadoop Common  328
11.6.4  Hadoop YARN  328
11.6.5  Hadoop集群 概述  328
11.7  在樹莓派集群上實現Hadoop  329
11.7.1  樹莓派的安裝和 配置  330
11.7.2  Hadoop的安裝和 配置  330
11.8  Java Hadoop示例  337
11.9  小結  343
11.10  本章復習題  343
附錄A  Java文檔和歸檔工具以及在線資源  344
附錄B  Apache Maven教程  351
附錄C  Git和GitHub教程  357