书籍作者:[英] 佩里·肖 | ISBN:9787302569268 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:4822 |
创建日期:2021-10-07 | 发布日期:2021-10-07 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
主要内容
● 更新对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,这些仪器已在全球范围内得到广泛应用,包括领先的化妆品公司、大学、研究机构和医院等。
前 言
我们生活在数字革命时代,许多新兴的数字技术正以惊人的速度发展,例如物联网(Internet of Things,IoT)、人工智能(Artificial Intelligence,AI)、网络安全、区块链等。无论我们是否喜欢,也无论我们是否准备好,这些数字技术都将越来越深入地渗透到我们生活的各个方面,这将从根本上改变我们的生活方式、工作方式和社交方式。Java作为一种现代的高级编程语言,是帮助我们学习这些数字技术以及开发数字应用的出色工具。
《Java物联网、人工智能和区块链编程实战》的目的是使用Java作为工具,帮助读者学习这些新的数字技术,使这些数字技术不再神秘并让读者为未来做好更充分的准备。
《Java物联网、人工智能和区块链编程实战》的组织结构
《Java物联网、人工智能和区块链编程实战》分为三大部分。第Ⅰ部分是对Java编程语言的基本介绍,使读者开始接触并使用Java进行编程;第Ⅱ部分的各章提供了常规编程项目的Java示例,例如控制台应用、Windows应用、网络应用和移动应用,所有这些都是为第Ⅲ部分做准备的;第Ⅲ部分是《Java物联网、人工智能和区块链编程实战》的核心,通过Java编程示例提供了有关最新数字技术(IoT、AI、网络安全、区块链和大数据)的易于阅读的指南。
第Ⅰ部分
第1章:Java简介
第2章:Java编程入门
第Ⅱ部分
第3章:基本的Java编程
第4章:面向Windows应用的Java编程
第5章:面向网络应用的Java编程
第6章:面向移动应用的Java编程
第Ⅲ部分
第7章:面向物联网应用的Java编程
第8章:面向人工智能应用的Java编程
第9章:面向网络安全应用的Java编程
第10章:面向区块链应用的Java编程
第11章:面向大数据应用的Java编程
附录
附录A:Java文档和归档工具以及在线资源
附录B:Apache Maven教程
附录C:Git和GitHub教程
《Java物联网、人工智能和区块链编程实战》所有示例的源代码可通过手机扫描封底的二维码下载。
《Java物联网、人工智能和区块链编程实战》读者对象
《Java物联网、人工智能和区块链编程实战》适合软件开发人员、设计人员和研究人员阅读。《Java物联网、人工智能和区块链编程实战》假设读者对计算机以及计算机的主要组件(例如CPU、RAM、硬盘驱动器、网络接口等)有基本的了解。读者应该能够熟练地使用计算机执行基本的任务,例如打开和关闭计算机,登录和注销,运行某些程序以及复制/移动/删除文件等。《Java物联网、人工智能和区块链编程实战》还假设读者具有一些基本的编程经验,理想的情况是使用过Java,但也可以是其他语言(例如C/C ++、Fortran、MATLAB、C#、BASIC或Python),并且知道基本的语法、不同类型的变量、标准输入输出、条件选择以及诸如循环和子例程的结构。最后,《Java物联网、人工智能和区块链编程实战》假设读者掌握计算机网络和Internet的一些基本概念,并且可以使用一些常用的Internet服务,例如万维网、电子邮件、文件的下载/上传以及在线银行/购物等。
阅读前要做的准备工作
要完成《Java物联网、人工智能和区块链编程实战》中的示例,你需要具备以下条件:
? 至少124 MB的硬盘和128 MB的内存,奔腾2266 MHz处理器以及运行Windows操作系统(Windows 7或更高版本)或Linux操作系统(Ubuntu Linux 12.04或更高版本、Oracle Linux 5.5或更高版本、Red Hat Linux 5.5或更高版本等)的标准个人计算机。当然,你也可以使用Mac计算机(在Mac OS X 10.8.3或更高版本中,具有安装权限的管理员特权,64位浏览器)。
? Java JDK,下载网址为http://www.oracle.com/technetwork/java/javase/downloads/index.html。
? 文本编辑器和Java IDE(请参阅第2章)。
? 树莓派(可选),下载网址为https://www.raspberrypi.org/。
目 录
第Ⅰ部分
第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