注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计Java 12程序设计学习指南

Java 12程序设计学习指南

Java 12程序设计学习指南

定 价:¥89.90

作 者: [美]尼克·萨莫耶洛夫 (Nick Samoylov) 著 沈泽刚 王永胜 译
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302570684 出版时间: 2021-04-01 包装: 平装-胶订
开本: 16开 页数: 385 字数:  

内容简介

  本书以Java 12为基础,全面系统地介绍Java语言,并引导读者进入**的Java编程领域。全书分为三部分,共包括19章。部分为Java编程概述,包括第1~3章,主要讲解Java 12入门知识,Java面向对象编程和Java基础知识;第二部分为Java主要构建单元,包括第4~12章,主要讲解异常处理,字符串、输入输出和文件,数据结构、泛型和流行实用工具,Java标准库和外部库,多线程和并发处理,JVM结构和垃圾收集,数据库数据管理,网络编程以及Java GUI编程等;第三部分为Java高级阶段,包括第13~19章,主要讲解函数式编程,Java标准流,反应式编程,微服务架构,Java微基准测试工具,高质量代码编写**实践以及Java的**特征。 本书内容丰富全面,适用于任何想学习Java的读者。学习本书内容不需要读者具有Java专业知识或任何其他编程语言知识。本书可供高等院校学生和教师参考,也可供软件开发人员和Java爱好者参考,是学习Java编程的参考资料。

作者简介

  沈泽刚,男,1964年生,渤海大学信息科学与技术学院,教授。研究方向包括程序设计方法、数据库技术以及Web信息集成等。主要从事计算机科学与技术专业科研及教学工作,出版专著1部,主编教材4部,近年来发表学术论文10多篇。为本科生、硕士生及留学生讲授专业课程多门。

图书目录

部分  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  集成开发环境 6
1.2.1  选择一种IDE 6
1.2.2  安装和配置IntelliJ IDEA 7
1.2.3  创建项目 8
1.2.4  从命令行执行示例程序 13
1.3  Java基本类型和运算符 14
1.3.1  boolean(布尔)类型 14
1.3.2  数值类型 14
1.3.3  基本类型的默认值 17
1.3.4  基本类型的字面值 17
1.3.5  新增的压缩数字格式 19
1.3.6  运算符 19
1.4  String(字符串)类型和字面值 22
1.4.1  字符串字面值 23
1.4.2  字符串不变性 24
1.5  标识符和变量 25
1.5.1  标识符 25
1.5.2  变量声明(定义)与初始化 25
1.5.3  类型持有器var 26
1.6  Java语句 26
1.6.1  表达式语句 27
1.6.2  控制流语句 27
本章小结 35
第2章  Java面向对象编程 36
2.1  OOP概念 36
2.1.1  对象/类 37
2.1.2  继承 37
2.1.3  抽象/接口 38
2.1.4  封装 39
2.1.5  多态性 39
2.2  类 39
2.2.1  方法 40
2.2.2  可变参数方法 41
2.2.3  构造方法 42
2.2.4  new运算符 44
2.2.5  java.lang.Object类 45
2.2.6  实例属性和方法以及静态属性和方法 46
2.3  接口 48
2.3.1  默认方法 49
2.3.2  私有方法 50
2.3.3  静态字段和方法 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  多态性实战 58
2.6.1  对象工厂 58
2.6.2  instanceof运算符 60
本章小结 61
第3章  Java基础知识 62
3.1  包、导入和访问修饰符 62
3.1.1  包 63
3.1.2  导入 63
3.1.3  访问修饰符 64
3.2  Java引用类型 66
3.2.1  类与接口 67
3.2.2  数组 67
3.2.3  枚举 68
3.2.4  默认值与字面值 70
3.2.5  引用类型作为方法参数 70
3.2.6  equals()方法 72
3.3  保留和受限关键字 74
3.3.1  保留关键字 74
3.3.2  受限关键字 75
3.4  this和super两个关键字的用法 75
3.4.1  this关键字的用法 75
3.4.2  super关键字的用法 76
3.5  基本类型间的转换 77
3.5.1  加宽转换 77
3.5.2  缩窄转换 78
3.5.3  转换方法 78
3.6  基本类型和引用类型间的转换 80
3.6.1  装箱 80
3.6.2  拆箱 81
本章小结 82
第二部分  Java主要构建单元
第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
本章小结 92
第5章  字符串、输入输出和文件 93
5.1  字符串处理 93
5.1.1  String类处理方法 93
5.1.2  String实用工具 97
5.2  I/O流 99
5.2.1  流数据 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  创建和删除文件和目录 119
5.3.2  列出文件和目录 120
5.4  Apache的FileUtils和IOUtils实用工具 121
5.4.1  FileUtils类 122
5.4.2  IOUtils类 122
本章小结 123
第6章  数据结构、泛型和流行实用工具 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
本章小结 147
第7章  Java标准库和外部库 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
本章小结 159
第8章  多线程和并发处理 160
8.1  线程与进程对比 160
8.2  用户线程与守护线程对比 160
8.3  Thread类的扩展 161
8.4  Runnable接口的实现 162
8.5  Thread类的扩展与Runnable接口的实现对比 163
8.6  线程池的使用 164
8.7  如何从线程获得结果 169
8.8  并行处理与并发处理对比 173
8.9  相同资源的并发修改 173
8.9.1  原子变量 176
8.9.2  同步方法 177
8.9.3  同步块 177
8.9.4  并发集合 178
8.9.5  内存一致性错误的处理 180
本章小结 180
第9章  JVM结构和垃圾收集 181
9.1  Java应用程序的执行 181
9.1.1  使用IDE 181
9.1.2  从命令行运行类 184
9.1.3  从命令行运行JAR文件 186
9.1.4  从命令行运行可执行的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  方法执行 191
9.2.6  垃圾收集 191
9.2.7  应用程序终止 191
9.3  JVM结构 193
9.3.1  运行时数据区 193
9.3.2  类加载器 193
9.3.3  执行引擎 193
9.4  垃圾收集 194
9.4.1  响应时间、吞吐量和全局停顿 194
9.4.2  对象寿命和世代 194
9.4.3  全局停顿无法避免时 195
本章小结 195
第10章  数据库数据管理 196
10.1  创建数据库 196
10.2  创建数据库结构 197
10.3  连接到数据库 199
10.4  关闭连接 201
10.5  数据的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
本章小结 210
第11章  网络编程 211
11.1  网络协议 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  服务器推送功能 233
11.6.4  WebSocket支持 234
本章小结 235
第12章  Java GUI编程 236
12.1  Java GUI技术 236
12.2  JavaFX基础知识 237
12.3  JavaFX简单编程示例 239
12.4  控件元素 241
12.5  图表 243
12.6  CSS的应用 244
12.7  FXML的使用 246
12.8  HTML的嵌入 250
12.9  媒体的播放 256
12.10  特效的添加 259
本章小结 266
第三部分  Java高级阶段
第13章  函数式编程 269
13.1  何为函数式编程 269
13.1.1  函数式接口 271
13.1.2  lambda表达式 272
13.1.3  lambda参数的局部变量语法 273
13.2  标准函数式接口 274
13.2.1  Consumer接口 274
13.2.2  Predicate接口 276
13.2.3  Supplier接口 277
13.2.4  Function接口 277
13.2.5  其他标准函数式接口 279
13.3  lambda表达式的限制 279
13.4  方法引用 280
本章小结 282
第14章  Java标准流 283
14.1  流——数据源和操作源 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  数值流接口 308
14.4.1  创建流 308
14.4.2  中间操作 308
14.4.3  终止操作 310
14.5  并行流 311
14.5.1  无状态操作和有状态操作 311
14.5.2  顺序处理还是并行处理 312
本章小结 312
第15章  反应式编程 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  事件/运行循环 316
15.3  反应式体系 317
15.3.1  响应性 318
15.3.2  复原性 318
15.3.3  灵活性 318
15.3.4  消息驱动 318
15.4  反应式流 319
15.5  RxJava——Java反应式扩展 320
15.5.1  Observable对象的划分 321
15.5.2  Disposable对象 327
15.5.3  Observable对象的创建 328
15.5.4  操作符 330
15.5.5  多线程(调度器) 337
本章小结 341
第16章  微服务架构 342
16.1  何为微服务 342
16.2  微服务架构的规模 343
16.3  微服务架构如何相互交流 344
16.4  微服务架构的反应式系统 346
16.4.1  HTTP服务器 346
16.4.2  EventBus消息接收器 349
16.4.3  EventBus消息发送器 350
16.4.4  反应式系统演示 353
本章小结 354
第17章  Java微基准测试工具 355
17.1  何为JMH 355
17.2  JMH基准的创建 357
17.3  使用IDE插件运行基准 358
17.4  JMH基准参数 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
本章小结 366
第18章  高质量代码编写实践 367
18.1  Java行业惯用语、实现及用法 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  设计实践 374
18.2.1  松耦合功能区的识别 374
18.2.2  功能区的传统层划分 374
18.2.3  接口代码的编写 375
18.2.4  工厂方法的使用 375
18.2.5  宁组合勿继承 375
18.2.6  库的使用 375
18.3  代码为人而写 375
18.4  测试——通向高质量代码的捷径 376
本章小结 377
第19章  Java的特征 378
19.1  Java仍在继续进化 378
19.2  Panama项目 379
19.3  Valhalla项目 379
19.4  Amber项目 380
19.4.1  数据类 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
本章小结 385

本目录推荐