译者序
前言
致谢
第1章 Java 8的流库 1
1.1 从迭代到流的操作 1
1.2 流的创建 3
1.3 f?ilter、map和f?latMap方法 8
1.4 抽取子流和组合流 9
1.5 其他的流转换 10
1.6 简单约简 11
1.7 Optional类型 13
1.7.1 获取Optional值 13
1.7.2 消费Optional值 13
1.7.3 管道化Optional值 14
1.7.4 不适合使用Optional值的方式 15
1.7.5 创建Optional值 16
1.7.6 用f?latMap构建Optional值的函数 16
1.7.7 将Optional转换为流 17
1.8 收集结果 19
1.9 收集到映射表中 24
1.10 群组和分区 27
1.11 下游收集器 28
1.12 约简操作 32
1.13 基本类型流 34
1.14 并行流 39
第2章 输入与输出 43
2.1 输入/输出流 43
2.1.1 读写字节 43
2.1.2 完整的流家族 46
2.1.3 组合输入/输出流过滤器 50
2.1.4 文本输入与输出 53
2.1.5 如何写出文本输出 53
2.1.6 如何读入文本输入 55
2.1.7 以文本格式存储对象 56
2.1.8 字符编码方式 59
2.2 读写二进制数据 61
2.2.1 DataInput和DataOutput接口 61
2.2.2 随机访问文件 63
2.2.3 ZIP文档 67
2.3 对象输入/输出流与序列化 70
2.3.1 保存和加载序列化对象 70
2.3.2 理解对象序列化的文件格式 74
2.3.3 修改默认的序列化机制 79
2.3.4 序列化单例和类型安全的枚举 81
2.3.5 版本管理 82
2.3.6 为克隆使用序列化 84
2.4 操作文件 86
2.4.1 Path 86
2.4.2 读写文件 89
2.4.3 创建文件和目录 90
2.4.4 复制、移动和删除文件 91
2.4.5 获取文件信息 92
2.4.6 访问目录中的项 94
2.4.7 使用目录流 95
2.4.8 ZIP文件系统 98
2.5 内存映射文件 99
2.5.1 内存映射文件的性能 99
2.5.2 缓冲区数据结构 105
2.6 文件加锁机制 107
2.7 正则表达式 109
2.7.1 正则表达式语法 109
2.7.2 匹配字符串 112
2.7.3 找出多个匹配 115
2.7.4 用分隔符来分割 117
2.7.5 替换匹配 117
第3章 XML 120
3.1 XML概述 120
3.2 XML文档的结构 122
3.3 解析XML文档 124
3.4 验证XML文档 133
3.4.1 文档类型定义 134
3.4.2 XML Schema 140
3.4.3 一个实践示例 142
3.5 使用XPath来定位信息 148
3.6 使用命名空间 152
3.7 流机制解析器 154
3.7.1 使用SAX解析器 154
3.7.2 使用StAX解析器 159
3.8 生成XML文档 162
3.8.1 不带命名空间的文档 162
3.8.2 带命名空间的文档 163
3.8.3 写出文档 163
3.8.4 使用StAX写出XML文档 165
3.8.5 示例:生成SVG文件 170
3.9 XSL转换 171
第4章 网络 180
4.1 连接到服务器 180
4.1.1 使用telnet 180
4.1.2 用Java连接到服务器 182
4.1.3 套接字超时 184
4.1.4 因特网地址 185
4.2 实现服务器 186
4.2.1 服务器套接字 186
4.2.2 为多个客户端服务 189
4.2.3 半关闭 192
4.2.4 可中断套接字 193
4.3 获取Web数据 199
4.3.1 URL和URI 199
4.3.2 使用URLConnection获取信息 201
4.3.3 提交表单数据 207
4.4 HTTP客户端 215
4.5 发送E-mail 221
第5章 数据库编程 225
5.1 JDBC的设计 225
5.1.1 JDBC驱动程序类型 226
5.1.2 JDBC的典型用法 227
5.2 结构化查询语言 227
5.3 JDBC配置 232
5.3.1 数据库URL 232
5.3.2 驱动程序JAR文件 233
5.3.3 启动数据库 233
5.3.4 注册驱动器类 234
5.3.5 连接到数据库 234
5.4 使用JDBC语句 237
5.4.1 执行SQL语句 237
5.4.2 管理连接、语句和结果集 240
5.4.3 分析SQL异常 240
5.4.4 组装数据库 242
5.5 执行查询操作 246
5.5.1 预备语句 246
5.5.2 读写LOB 252
5.5.3 SQL转义 253
5.5.4 多结果集 254
5.5.5 获取自动生成的键 255
5.6 可滚动和可更新的结果集 256
5.6.1 可滚动的结果集 256
5.6.2 可更新的结果集 258
5.7 行集 261
5.7.1 构建行集 262
5.7.2 被缓存的行集 262
5.8 元数据 265
5.9 事务 274
5.9.1 用JDBC对事务编程 274
5.9.2 保存点 275
5.9.3 批量更新 275
5.9.4 高级SQL类型 277
5.10 Web与企业应用中的连接管理 278
第6章 日期和时间API 280
6.1 时间线 280
6.2 本地日期 284
6.3 日期调整器 288
6.4 本地时间 289
6.5 时区时间 290
6.6 格式化和解析 294
6.7 与遗留代码的互操作 298
第7章 国际化 300
7.1 locale 300
7.1.1 为什么需要locale 300
7.1.2 指定locale 301
7.1.3 默认locale 303
7.1.4 显示名字 304
7.2 数字格式 305
7.2.1 格式化数字值 306
7.2.2 货币 310
7.3 日期和时间 311
7.4 排序和规范化 318
7.5 消息格式化 323
7.5.1 格式化数字和日期 324
7.5.2 选择格式 325
7.6 文本输入和输出 327
7.6.1 文本文件 327
7.6.2 行结束符 327
7.6.3 控制台 328
7.6.4 日志文件 328
7.6.5 UTF-8字节
· · · · · · (
收起)
评分
☆☆☆☆☆
能把这两卷书看完,就会写JAVA程序了。 我记得书中鼓励读者把书中的例子自已重新输入一遍,以加强记忆,这应该也是这本书中例子的特色吧。
评分
☆☆☆☆☆
P46页 void write(byte[] b, int off, int len) 书上的翻译是,写出所有字节或者某个范围的字节到数组b中。 其实实际应该是,写入所有字节或者某个范围的字节到输出流中。 都已经翻译第11版了,能走点心吗? 建议搞一个翻译勘误,像原版那样,让大家多提出一些翻译错误。这样会...
评分
☆☆☆☆☆
P46页 void write(byte[] b, int off, int len) 书上的翻译是,写出所有字节或者某个范围的字节到数组b中。 其实实际应该是,写入所有字节或者某个范围的字节到输出流中。 都已经翻译第11版了,能走点心吗? 建议搞一个翻译勘误,像原版那样,让大家多提出一些翻译错误。这样会...
评分
☆☆☆☆☆
这两本书可以称作为jdk api使用指南,偏重于使用,而java编程思想仅仅是介绍java语言的,偏重于语言原理。java语言是j2se的一部分,jdk是j2se的实现,不会使用或者不熟悉java(jdk)是很难看得懂语言原理的,同样,不懂项目管理工具的使用、IDE的使用、DEBUG工具的使用是很难深...
评分
☆☆☆☆☆
整体上说,这并不是大部头,并没有必要从头一章章的啃到尾,如果慢慢啃的话,就有点得不偿失了,获得的知识弥补不了所消耗的时间。 虽然书很厚,但是可看的其实并不多,后面的索引和书中的API列举也占了不少篇幅,当我读到80%不到的时候,发现就已经完了。 如该书的副标题所示...