Java核心技术卷II:高级特性(原书第10版)(310377)
- 图书作者: (美) 凯 S. 霍斯特曼
- 出 版 社: 机械工业出版社
- 版权提供: 机械工业出版社
- 所在分类: 图书 > 计算机网络
- 上传时间: 2024-06-25
- 文件格式:
epub
(目前E920,N618火星版支持图书epub格式,下载升级包) -
纸版书价:
¥139书城价: ¥83.00
内容简介作者简介编辑推荐精彩书摘目录
本书是Java领域有影响力和价值的著作之一,由拥有20多年教学与研究经验的Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,0余年全球不衰,广受好评。第10版根据JavaSE8全面更新,同时修正了第9版中的不足,系统全面讲解了Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。
Cay S.Horstmann是圣何塞州大学计算机科学系教授。他曾经是Preview Systems公司的副总裁和首席技术官,曾任许多大型公司、大学和组织的C++、Java与因特网编程顾问。
Gary Cornell曾经撰写或与人合著过20多本计算机畅销书。他是Brown大学的博士,在IBM的Watson实验室做过访问科学家,曾任康沓狄格大学的教授。
译者序
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》中文版又要呈现在广大读者的面前了!这是我翻译的本书的第4个版本,细心一看,才发现距离最早的第7版已经过去了将近12年,岁月神偷悄然改变着我的音容相貌,也让Java语言不断地完善演化,发生了脱胎换骨般的变化。
随着Java语言的更新,本书的内容也进行了大幅度的调整,新增了Java SE 8中的流库,以及日期和时间API的内容,调整掉了JavaBean和RMI等内容,使得本书的内容既反映了Java语言的新变化,又显得更加紧凑,达到了与时俱进的目的。
本书实际上并不适合Java初学者,它更适合有一定Java编程基础的程序员,因为具备一定的基础知识才能更好地理解本书的内容,这也是卷Ⅱ被称为“高级特性”的原因。通过阅读本书,你会了解到高级特性的细节,它们涉及复杂系统的各个方面,是开发更好、更快、更安全和更易维护的系统所必不可少的语言特性。
在这一版的翻译工作中,我对原文没有变化的部分也进行了仔细修订,尽量修改了其中的错误和翻译不通顺的语句。令人汗颜的是,虽然已经修订过3版了,在这一版中还是发现了不少错误,在此我向所有之前版本的读者道歉,也恳请读者对这一版中的谬误提出批评。
最后,祝大家通过阅读本书不但能够提升Java编程能力,更能够加深对Java编程语言的理解和认识。让我们共同学习,永远在路上!
陈昊鹏
译者序
前言
第1章 Java SE 8的流库 1
1.1 从迭代到流的操作 1
1.2 流的创建 3
1.3 f?ilter、map和f?latMap方法 6
1.4 抽取子流和连接流 8
1.5 其他的流转换 8
1.6 简单约简 9
1.7 Optional类型 11
1.7.1 如何使用Optional值 11
1.7.2 不适合使用Optional值的方式 12
1.7.3 创建Optional值 13
1.7.4 用f?latMap来构建Optional值的函数 13
1.8 收集结果 15
1.9 收集到映射表中 19
1.10 群组和分区 23
1.11 下游收集器 24
1.12 约简操作 28
1.13 基本类型流 29
1.14 并行流 34
第2章 输入与输出 39
2.1 输入/输出流 39
2.1.1 读写字节 39
2.1.2 完整的流家族 42
2.1.3 组合输入/输出流过滤器 45
2.2 文本输入与输出 48
2.2.1 如何写出文本输出 49
2.2.2 如何读入文本输入 51
2.2.3 以文本格式存储对象 52
2.2.4 字符编码方式 55
2.3 读写二进制数据 57
2.3.1 DataInput和DataOutput接口 57
2.3.2 随机访问文件 59
2.3.3 ZIP文档 63
2.4 对象输入/输出流与序列化 66
2.4.1 保存和加载序列化对象 66
2.4.2 理解对象序列化的文件格式 70
2.4.3 修改默认的序列化机制 75
2.4.4 序列化单例和类型安全的枚举 77
2.4.5 版本管理 78
2.4.6 为克隆使用序列化 80
2.5 操作文件 83
2.5.1 Path 83
2.5.2 读写文件 85
2.5.3 创建文件和目录 87
2.5.4 复制、移动和删除文件 88
2.5.5 获取文件信息 89
2.5.6 访问目录中的项 91
2.5.7 使用目录流 92
2.5.8 ZIP文件系统 95
2.6 内存映射文件 96
2.6.1 内存映射文件的性能 96
2.6.2 缓冲区数据结构 103
2.6.3 文件加锁机制 105
2.7 正则表达式 106
第3章 XML 117
3.1 XML概述 117
3.1.1 XML文档的结构 119
3.2 解析XML文档 122
3.3 验证XML文档 132
3.3.1 文档类型定义 133
3.3.2 XML Schema 139
3.3.3 实用示例 142
3.4 使用XPath来定位信息 154
3.5 使用命名空间 159
3.6 流机制解析器 162
3.6.1 使用SAX解析器 162
3.6.2 使用StAX解析器 166
3.7 生成XML文档 170
3.7.1 不带命名空间的文档 170
3.7.2 带命名空间的文档 170
3.7.3 写出文档 171
3.7.4 示例:生成SVG文件 172
3.7.5 使用StAX写出XML文档 174
3.8 XSL转换 181
第4章 网络 191
4.1 连接到服务器 191
4.1.1 使用telnet 191
4.1.2 用Java连接到服务器 193
4.1.3 套接字超时 195
4.1.4 因特网地址 196
4.2 实现服务器 198
4.2.1 服务器套接字 198
4.2.2 为多个客户端服务 201
4.2.3 半关闭 204
4.3 可中断套接字 205
4.4 获取Web数 211
4.4.1 URL和URI 211
4.4.2 使用URLConnection获取信息 213
4.4.3 提交表单数据 220
4.5 发送E-mail 228
第5章 数据库编程 232
5.1 JDBC的设计 232
5.1.1 JDBC驱动程序类型 233
5.1.2 JDBC的典型用法 234
5.2 结构化查询语言 234
5.3 JDBC配置 239
5.3.1 数据库URL 240
5.3.2 驱动程序JAR文件 240
5.3.3 启动数据库 240
5.3.4 注册驱动器类 241
5.3.5 连接到数据库 242
5.4 使用JDBC语句 244
5.4.1 执行SQL语句 244
5.4.2 管理连接、语句和结果集 247
5.4.3 分析SQL异常 248
5.4.4 组装数据库 250
5.5 执行查询操作 254
5.5.1 预备语句 254
5.5.2 读写LOB 259
5.5.3 SQL转义 261
5.5.4 多结果集 262
5.5.5 获取自动生成的键 263
5.6 可滚动和可更新的结果集 263
5.6.1 可滚动的结果集 264
5.6.2 可更新的结果集 266
5.7 行集 269
5.7.1 构建行集 270
5.7.2 被缓存的行集 270
5.8 元数据 273
5.9 事务 282
5.9.1 用JDBC对事务编程 282
5.9.2 保存点 283
5.9.3 批量更新 283
5.10 高级SQL类型 285
5.11 Web与企业应用中的连接管理 286
第6章 日期和时间API 288
6.1 时间线 288
6.2 本地时间 291
6.3 日期调整器 294
6.4 本地时间 295
6.5 时区时间 296
6.6 格式化和解析 299
6.7 与遗留代码的互操作 302
第7章 国际化 304
7.1 Locale对象 304
7.2 数字格式 309
7.3 货币 314
7.4 日期和时间 315
7.5 排序和范化 321
7.6 消息格式化 327
7.6.1 格式化数字和日期 327
7.6.2 选择格式 329
7.7 文本文件和字符集 331
7.7.1 文本文件 331
7.7.2 行结束符 331
7.7.3 控制台 331
7.7.4 日志文件 332
7.7.5 UTF-8字节顺序标志 332
7.7.6 源文件的字符编码 333
7.8 资源包 333
7.8.1 定位资源包 334
7.8.2 属性文件 335
7.8.3 包类 335
7.9 一个完整的例子 337
第8章 脚本、编译与注解处理 352
8.1 Java平台的脚本 352
8.1.1 获取脚本引擎 352
8.1.2 脚本赋值与绑定 353
8.1.3 重定向输入和输出 355
8.1.4 调用脚本的函数和方法 356
8.1.5 编译脚本 357