当前位置:主页 > 计算机电子书 > Java > Java SE下载
写给大忙人的Java SE 9核心技术

写给大忙人的Java SE 9核心技术 PDF 影印超清版

  • 更新:2019-11-05
  • 大小:232 MB
  • 类别:Java SE
  • 作者:Cay、S.、Horstmann(凯·霍
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

写给大忙人的Java SE 9核心技术 PDF

Java SE 9引进众多关键特性,这种特性危害Java服务平台基地的核心技术和API。很多旧的Java习惯用法已不必须,而新的特性,比如模块化设计,能够让程序流程更高效率。可是把握这种转变并不易,你必须出示迅速、更方便快捷的《写给大忙人的Java SE 9核心技术》。
应用模块简单化繁杂系统软件的开发设计。
转移运用以融入模块化设计的Java API和第三方模块。
应用新的JShell“载入-评定-复印”循环系统(REPL)随时随地检测你的编码。
应用lambda表达式更简约地表达个人行为。
应用Stream API将数据库管理生产线化并提升。
根据合作每日任务应用当代高并发编程。
充足应用结合、键入\輸出、正则表达式及其系统进程类改善的好几个API。

这书是经典书籍《Java核心技术》(Core Java)作者Cay S. Horstmann的全新升级大作,书中以重要的核心技术为核心点,以全局性高宽比提炼出言语精粹,以高浓、高认可度的方法对Java SE 9的新特性开展细腻解读。作者将其沉醉于Java很多年的远见卓识蕴含于书中,既扎扎实实遮盖Java编程的基本知识,又别具匠心地从Java 9以及关键的新特性之一——模块始于,领着用户一路探寻和实践Java 的众多新特性,例如JShell、结合类加工厂方式 、改善的Stream API、独享插口、HTTP/2、高并发编程中的提高一部分、全新升级的時间/时间API,及其开发语言在Java中的应用。“Impatient”系列产品书籍设计风格独特,除如数出自于高手之手外,更以文采轻轻松松、最易读通俗易懂、含有栩栩如生且可用以实践的范例程序流程(免费下载源代码后可立即运作)而渐长。这类亲自实践的授课方式,十分有利于用户加重对技术性的了解和把握。新手能用来参照新手入门;有开发设计工作经验者也能用来夯实基础编程关键专业知识,开拓创新地掌握技术性发展趋势现况与未来发展趋势。这书合适有一定Java开发设计工作经验的技术工程师或是系统架构师阅读文章,还可以做为Java新特性的参考手册。

目录

  • 第1章 基本的编程结构 1
  • 1.1 第一个程序 2
  • 1.1.1 "Hello,World"程序解析 2
  • 1.1.2 编译与运行Java程序 3
  • 1.1.3 方法调用 5
  • 1.1.4 JShell 7
  • 1.2 基本类型 11
  • 1.2.1 有符号整型 11
  • 1.2.2 浮点类型 12
  • 1.2.3 char型 13
  • 1.2.4 布尔型 14
  • 1.3 变量 14
  • 1.3.1 变量的声明 14
  • 1.3.2 名称 14
  • 1.3.3 初始化 15
  • 1.3.4 常量 15
  • 1.4 算术操作 17
  • 1.4.1 赋值 18
  • 1.4.2 基本运算 18
  • 1.4.3 数学方法 20
  • 1.4.4 数字类型转换 21
  • 1.4.5 关系操作符和逻辑操作符 22
  • 1.4.6 大数 24
  • 1.5 字符串 24
  • 1.5.1 字符串的连接 25
  • 1.5.2 子字符串 26
  • 1.5.3 字符串比较 26
  • 1.5.4 数字与字符串转换 28
  • 1.5.5 String类API 29
  • 1.5.6 编码点和编码单元 31
  • 1.6 输入与输出 33
  • 1.6.1 读取输入 33
  • 1.6.2 格式化输出 35
  • 1.7 控制流 37
  • 1.7.1 分支 37
  • 1.7.2 循环 39
  • 1.7.3 跳出循环与继续循环 41
  • 1.7.4 局部变量作用域 43
  • 1.8 数组和数组列表 44
  • 1.8.1 使用数组 44
  • 1.8.2 构造数组 45
  • 1.8.3 数组列表 47
  • 1.8.4 基本类型包装类 48
  • 1.8.5 增强的for循环 48
  • 1.8.6 数组与数组列表的复制 49
  • 1.8.7 数组算法 50
  • 1.8.8 命令行参数 51
  • 1.8.9 多维数组 52
  • 1.9 功能分解 55
  • 1.9.1 静态方法的声明与调用 55
  • 1.9.2 数组参数与返回值 55
  • 1.9.3 可变参数 56
  • 练习 57
  • 第2章 面向对象编程 61
  • 2.1 使用对象 62
  • 2.1.1 访问器方法和修改器方法 64
  • 2.1.2 对象引用 65
  • 2.2 实现类 67
  • 2.2.1 实例变量 67
  • 2.2.2 方法头 67
  • 2.2.3 方法体 68
  • 2.2.4 实例方法调用 69
  • 2.2.5 this引用 69
  • 2.2.6 值调用 70
  • 2.3 构造对象 72
  • 2.3.1 实现构造函数 72
  • 2.3.2 重载 73
  • 2.3.3 调用另一个构造函数 74
  • 2.3.4 默认初始化 74
  • 2.3.5 实例变量的初始化 75
  • 2.3.6 final实例变量 76
  • 2.3.7 无参构造函数 76
  • 2.4 静态变量和方法 77
  • 2.4.1 静态变量 77
  • 2.4.2 静态常量 78
  • 2.4.3 静态初始块 79
  • 2.4.4 静态方法 80
  • 2.4.5 工厂方法 81
  • 2.5 包 82
  • 2.5.1 包的声明 82
  • 2.5.2 jar命令 83
  • 2.5.3 类路径 84
  • 2.5.4 包访问权限 86
  • 2.5.5 导入类 87
  • 2.5.6 静态导入 88
  • 2.6 嵌套类 89
  • 2.6.1 静态嵌套类 89
  • 2.6.2 内部类 91
  • 2.6.3 内部类的特殊语法 93
  • 2.7 文档注释 95
  • 2.7.1 插入注释 95
  • 2.7.2 类注释 96
  • 2.7.3 方法注释 97
  • 2.7.4 变量注释 97
  • 2.7.5 通用注释 98
  • 2.7.6 链接 98
  • 2.7.7 包、模块和概述注释 99
  • 2.7.8 注释的提取 99
  • 练习 100
  • 第3章 接口和lambda表达式 105
  • 3.1 接口 106
  • 3.1.1 声明接口 106
  • 3.1.2 实现接口 107
  • 3.1.3 转换为接口类型 109
  • 3.1.4 强制类型转换和instanceof操作符 109
  • 3.1.5 继承接口 .110
  • 3.1.6 实现多个接口 111
  • 3.1.7 常量 111
  • 3.2 静态方法、默认方法和私有方法 112
  • 3.2.1 静态方法 112
  • 3.2.2 默认方法 112
  • 3.2.3 解决默认方法冲突的问题 113
  • 3.2.4 私有方法 115
  • 3.3 接口示例 115
  • 3.3.1 Comparable接口 115
  • 3.3.2 Comparator接口 117
  • 3.3.3 Runnable接口 118
  • 3.3.4 UI回调 119
  • 3.4 lambda表达式 120
  • 3.4.1 lambda表达式语法 121
  • 3.4.2 函数式接口 122
  • 3.5 方法引用和构造函数引用 123
  • 3.5.1 方法引用 123
  • 3.5.2 构造函数引用 125
  • 3.6 使用lambda表达式 126
  • 3.6.1 实现延迟执行 126
  • 3.6.2 选择函数式接口 127
  • 3.6.3 实现自己的函数式接口 129
  • 3.7 lambda表达式和变量作用域 130
  • 3.7.1 lambda表达式的作用域 130
  • 3.7.2 访问来自闭合作用域的变量 131
  • 3.8 高阶函数 133
  • 3.8.1 返回函数的方法 134
  • 3.8.2 修改函数的方法 134
  • 3.8.3 Comparator方法 135
  • 3.9 局部类和匿名类 136
  • 3.9.1 局部类 136
  • 3.9.2 匿名类 137
  • 练习 . 138
  • 第4章 继承与反射 143
  • 4.1 继承一个类 144
  • 4.1.1 父类与子类 144
  • 4.1.2 定义和继承子类方法 145
  • 4.1.3 方法覆盖 145
  • 4.1.4 子类的构造 147
  • 4.1.5 父类赋值 147
  • 4.1.6 转换 148
  • 4.1.7 final方法和类 149
  • 4.1.8 抽象方法和类 149
  • 4.1.9 受保护访问 150
  • 4.1.10 匿名子类 151
  • 4.1.11 继承和默认方法 152
  • 4.1.12 带super的方法表达式 153
  • 4.2 Object:终极父类 153
  • 4.2.1 toString方法 154
  • 4.2.2 equals方法 156
  • 4.2.3 hashCode方法 159
  • 4.2.4 克隆对象 160
  • 4.3 枚举 163
  • 4.3.1 枚举方法 164
  • 4.3.2 构造函数、方法和域 165
  • 4.3.3 实例的实现体 165
  • 4.3.4 静态成员 166
  • 4.3.5 switch枚举对象 167
  • 4.4 运行时类型信息和资源 168
  • 4.4.1 Class类 168
  • 4.4.2 资源加载 172
  • 4.4.3 类加载器 172
  • 4.4.4 上下文类加载器 174
  • 4.4.5 服务加载器 176
  • 4.5 反射 178
  • 4.5.1 枚举类成员 178
  • 4.5.2 对象检查 179
  • 4.5.3 方法调用 180
  • 4.5.4 对象构造 181
  • 4.5.5 JavaBeans 182
  • 4.5.6 使用数组 183
  • 4.5.7 代理 185
  • 练习 . 187
  • 第5章 异常、断言和日志处理 191
  • 5.1 异常处理 192
  • 5.1.1 异常抛出 192
  • 5.1.2 异常继承层次 193
  • 5.1.3 已检查异常的声明 195
  • 5.1.4 异常捕获 196
  • 5.1.5 try-with-resources语句 197
  • 5.1.6 finally子句 199
  • 5.1.7 异常重抛和链接 200
  • 5.1.8 未捕获的异常和堆栈踪迹 202
  • 5.1.9 Objects.requireNonNull方法 203
  • 5.2 断言 204
  • 5.2.1 使用断言 205
  • 5.2.2 启用和禁用断言 205
  • 5.3 记录日志 206
  • 5.3.1 采用日志记录器 206
  • 5.3.2 日志记录器 207
  • 5.3.3 日志级别 207
  • 5.3.4 其他日志记录方法 208
  • 5.3.5 日志记录的配置项 210
  • 5.3.6 日志处理器 211
  • 5.3.7 过滤器和格式化器 214
  • 练习 215
  • 第6章 泛型编程 219
  • 6.1 泛型类 220
  • 6.2 泛型方法 221
  • 6.3 类型限定 222
  • 6.4 类型变异和通配符 223
  • 6.4.1 子类型通配符 224
  • 6.4.2 父类型通配符 225
  • 6.4.3 带类型变量的通配符 226
  • 6.4.4 无限定通配符 228
  • 6.4.5 通配符捕获 228
  • 6.5 Java虚拟机中的泛型 229
  • 6.5.1 类型擦除 229
  • 6.5.2 转换插入 230
  • 6.5.3 桥方法 230
  • 6.6 泛型约束 232
  • 6.6.1 无基本类型参数 232
  • 6.6.2 所有类型在运行时都是原始的 233
  • 6.6.3 不能实例化类型变量 234
  • 6.6.4 不能构造参数化类型的数组 236
  • 6.6.5 静态上下文中的类类型变量不是有效的 237
  • 6.6.6 类型擦除后的方法可能不冲突 238
  • 6.6.7 异常与泛型 239
  • 6.7 反射与泛型 240
  • 6.7.1 Class<T>类 240
  • 6.7.2 虚拟机中的泛型类型信息 242
  • 练习 243
  • 第7章 集合 249
  • 7.1 集合框架概要 249
  • 7.2 迭代器 254
  • 7.3 set 256
  • 7.4 map 257
  • 7.5 其他集合 261
  • 7.5.1 Properties 261
  • 7.5.2 位组 262
  • 7.5.3 枚举set和枚举map 264
  • 7.5.4 栈、队列、双端队列、优先级队列 264
  • 7.5.5 弱哈希映射表 266
  • 7.6 视图 266
  • 7.6.1 小集合 267
  • 7.6.2 范围 268
  • 7.6.3 不可修改的视图 268
  • 练习 . 269
  • 第8章 Stream. 273
  • 8.1 从迭代到Stream操作 274
  • 8.2 创建Stream 275
  • 8.3 filter、map和flatMap方法 277
  • 8.4 提取子流和组合流 279
  • 8.5 其他流转换 280
  • 8.6 简单归约 281
  • 8.7 Optional类型 282
  • 8.7.1 如何使用Optional类型值 282
  • 8.7.2 如何不使用Optional类型值 284
  • 8.7.3 创建Optional类型值 284
  • 8.7.4 使用flatMap来组合可选值函数 285
  • 8.7.5 将Optional转变为流 286
  • 8.8 收集结果 287
  • 8.9 将结果收集到map中 289
  • 8.10 分组和分片 290
  • 8.11 下游收集器 291
  • 8.12 归约操作 294
  • 8.13 基本类型流 296
  • 8.14 并行流 297
  • 练习 300
  • 第9章 输入与输出处理 305
  • 9.1 输入/输出流、Reader和Writer 306
  • 9.1.1 获取流对象 306
  • 9.1.2 读取字节 307
  • 9.1.3 写字节 308
  • 9.1.4 字符编码 308
  • 9.1.5 文本输入 311
  • 9.1.6 文本输出 313
  • 9.1.7 读/写二进制数据 314
  • 9.1.8  随机存取文件 315
  • 9.1.9 内存映射文件 315
  • 9.1.10 文件锁 316
  • 9.2 路径、文件和目录 317
  • 9.2.1 路径 317
  • 9.2.2 创建文件和目录 319
  • 9.2.3 复制、移动和删除文件 320
  • 9.2.4 访问目录内容 321
  • 9.2.5 ZIP文件系统 324
  • 9.3 HTTP连接 325
  • 9.3.1 URLConnection类和HttpURLConnection类 326
  • 9.3.2 HTTP Client API 327
  • 9.4 正则表达式 330
  • 9.4.1 正则表达式概述 330
  • 9.4.2 找到一个匹配 334
  • 9.4.3 找到所有匹配 335
  • 9.4.4 分组 336
  • 9.4.5 以分隔符号分割 337
  • 9.4.6 替换匹配结果 338
  • 9.4.7 标记 339
  • 9.5 序列化 339
  • 9.5.1 Serializable接口 340
  • 9.5.2 瞬态实例变量 342
  • 9.5.3 readObject和writeObject方法 342
  • 9.5.4 readResolve和writeReplace方法 343
  • 9.5.5 版本化 345
  • 练习 . 346
  • 第10章 并发编程 351
  • 10.1 并发任务 352
  • 10.1.1 运行任务 352
  • 10.1.2 Futu

资源下载

资源下载地址1:https://pan.baidu.com/s/1AV2xOgZ9auoh7r77-qtUiA

相关资源

网友留言