编辑推荐
? Java领域具有影响力和价值的著作之一
? 曾获Jolt生产效率大奖的Java经典图书新版
? Java平台的权V指南,全面体现Java SE 8的新变化
长期以来,对希望为真是应用编写健壮的Java代码的有经验的程序员而言,《Java核心技术》一直被认为是领先且严谨的教程与参考资料。为了反映万众瞩目、带来很多创新的Java SE 8,《Java核心技术 卷II:高级特性(第10版)》做了大量更新。书中的素材经过了重写或重新组织,以说明Java用于企业和桌面开发的强大的新特性、习惯用法和实践。数百个编程示例也做了更新,全部悉心设计,便于读者理解和实际应用。
本书为希望解决现实问题的严谨的程序员而编写,作者Cay Horstmann希望帮助读者深入理解当今之Java语言和库。本书是两卷本《Java核心技术》的第二卷,这一卷深入介绍了新的流API、日期/时间/日历库、高级Swing、安全、代码处理等高级主题。
对于想学习Java SE 8的有经验的程序员,本书是通往开发者信任20多年的Java平台的可靠、实用且完备的指南。
通过本书读者将学到:
● 使用新的流库更灵活、更高效地处理集合;
● 高效地访问文件和目录,读写二进制或文本数据,以及序列化对象;
● 使用Java SE 8的正则表达式包;
● 在Java中充分利用XML:解析、验证、XPath、文档生成和XSL等;
● 高效地将Java程序连接到网络服务;
● 使用JDBC 4.2进行数据库编程;
● 借助新的java.time API优雅地克服日期/时间编程的复杂性;
● 利用本地化日期/时间、数值、文本和GUI编写国际化程序;
● 使用脚本API、编译器API和注解处理器处理代码;
● 通过类加载器、字节码验证、安全管理器、权限、用户认证、数字签名、代码签名和加密增强安全性;
● 掌握列表、表格、树、文本和进度指示器等高级Swing组件;
● 使用Java 2D API生成高质量图形;
● 使用JNI本地方法利用其他语言编写的代码。
内容简介
本书是经典图书《Java核心技术 卷II:高级特性》的新版。这一版针对Java SE 8平台进行了全面更新,以反映Java SE 8的特性。
书中全面覆盖Java技术的高级主题,包括Java SE 8流库,输入与输出,XML,网络,数据库编程,日期与时间API,国际化,脚本、编译与注解处理,安全,高级Swing,高级AWT,以及本地方法等内容。本书对Java技术的阐述精que到位,叙述方式深入浅出,并包含大量程序示例,让读者充分理解Java语言以及Java类库的相关高级特性。
作者简介
Cay S. Horstmann 是Core Java? for the Impatient(2015)、Java SE 8 for the Really Impatient(2014)和Scala for the Impatient(2012)等图书的作者。他还有很多写给职业程序员和计算机专业学生的专著。他是圣何塞州立大学的计算机科学教授,还是一名Java Champion。
目录
目录
Chapter 1: The Java SE 8 Stream Library / Java SE 8流库 1
1.1 From Iterating to Stream Operations / 从迭代到流操作 2
1.2 Stream Creation / 创建流 5
1.3 The filter, map, and flatMap Methods / filter、map和flatMap方法 9
1.4 Extracting Substreams and Concatenating Streams / 提取子流和连接流 10
1.5 Other Stream Transformations / 其他流变换 11
1.6 Simple Reductions / 简单规约 12
1.7 The Optional Type / Optional类型 13
1.7.1 How to Work with Optional Values / 如何使用Optional值 14
1.7.2 How Not to Work with Optional Values / 不使用Optional值会有什么问题 15
1.7.3 Creating Optional Values / 创建Optional值 16
1.7.4 Composing Optional Value Functions with flatMap / 使用flatMap组合Optional值函数 16
1.8 Collecting Results / 收集结果 19
1.9 Collecting into Maps / 收集到Map中 24
1.10 Grouping and Partitioning / 分组与分区 28
1.11 Downstream Collectors / 下游的收集器 29
1.12 Reduction Operations / 规约操作 33
1.13 Primitive Type Streams / 基本类型的流 36
1.14 Parallel Streams / 并行流 41
Chapter 2: Input and Output / 输入与输出 47
2.1 Input/Output Streams / 输入/输出流 48
2.1.1 Reading and Writing Bytes / 读写字节 48
2.1.2 The Complete Stream Zoo / 流谱系概览 51
2.1.3 Combining Input/Output Stream Filters / 组合输入/输出流过滤器 55
2.2 Text Input and Output / 文本输入与输出 60
2.2.1 How to Write Text Output / 输出文本 60
2.2.2 How to Read Text Input / 输入文本 62
2.2.3 Saving Objects in Text Format / 以文本格式保存对象 63
2.2.4 Character Encodings / 字符编码 67
2.3 Reading and Writing Binary Data / 读写二进制数据 69
2.3.1 The DataInput and DataOutput interfaces / DataInput和DataOutput接口 69
2.3.2 Random-Access Files / 随机访问文件 72
2.3.3 ZIP Archives / ZIP文档 77
2.4 Object Input/Output Streams and Serialization / 对象输入/输出流与序列化 80
2.4.1 Saving and Loading Serializable Objects / 序列化对象的保存与加载 80
2.4.2 Understanding the Object Serialization File Format / 理解对象序列化文件格式 85
2.4.3 Modifying the Default Serialization Mechanism / 修改默认的序列化机制 92
2.4.4 Serializing Singletons and Typesafe Enumerations / 序列化单例和类型安全的枚举 94
2.4.5 Versioning / 版本管理 95
2.4.6 Using Serialization for Cloning / 将序列化用于克隆 98
2.5 Working with Files / 处理文件 100
2.5.1 Paths / 路径 101
2.5.2 Reading and Writing Files / 读写文件 104
2.5.3 Creating Files and Directories / 创建文件与目录 105
2.5.4 Copying, Moving, and Deleting Files / 复制、移动和删除文件 106
2.5.5 Getting File Information / 获取文件信息 108
2.5.6 Visiting Directory Entries / 访问目录条目 110
2.5.7 Using Directory Streams / 使用目录流 111
2.5.8 ZIP File Systems / ZIP文件系统 115
2.6 Memory-Mapped Files / 内存映射文件 116
2.6.1 Memory-Mapped File Performance / 内存映射文件的性能 116
2.6.2 The Buffer Data Structure / 缓冲区数据结构 124
2.6.3 File Locking / 文件锁 126
2.7 Regular Expressions / 正则表达式 128
Chapter 3: XML 143
3.1 Introducing XML / XML简介 144
3.1.1 The Structure of an XML Document / XML文档的结构 146
3.2 Parsing an XML Document / 解析XML文档 149
3.3 Validating XML Documents / 验证XML文档 162
3.3.1 Document Type Definitions / 文档类型定义 163
3.3.2 XML Schema / XML模式 172
3.3.3 A Practical Example / 实用示例 175
3.4 Locating Information with XPath / 使用XPath定位信息 190
3.5 Using Namespaces / 使用命名空间 196
3.6 Streaming Parsers / 流解析器 199
3.6.1 Using the SAX Parser / 使用SAX解析器 199
3.6.2 Using the StAX Parser / 使用StAX解析器 205
3.7 Generating XML Documents / 生成XML文档 208
3.7.1 Documents without Namespaces / 不带命名空间的文档 209
3.7.2 Documents with Namespaces / 带命名空间的文档 209
3.7.3 Writing Documents / 写文档 210
3.7.4 An Example: Generating an SVG File / 示例:生成SVG文件 211
3.7.5 Writing an XML Document with StAX / 使用StAX写XML文档 214
3.8 XSL Transformations / XSL转换 222
Chapter 4: Networking / 网络 233
4.1 Connecting to a Server / 连接到服务器 233
4.1.1 Using Telnet / 使用Telnet 233
4.1.2 Connecting to a Server with Java / 使用Java连接到服务器 236
4.1.3 Socket Timeouts / 套接字超时 238
4.1.4 Internet Addresses / 因特网地址 239
4.2 Implementing Servers / 实现服务器 241
4.2.1 Server Sockets / 服务器套接字 242
4.2.2 Serving Multiple Clients / 为多个客户端服务 245
4.2.3 Half-Close / 半关闭 249
4.3 Interruptible Sockets / 可中断套接字 250
4.4 Getting Web Data / 获取Web数据 257
4.4.1 URLs and URIs / URL和URI 257
4.4.2 Using a URLConnection to Retrieve Information / 使用URLConnection获取信息 259
4.4.3 Posting Form Data / 提交表单数据 267
4.5 Sending E-Mail / 发送电子邮件 277
Chapter 5: Database Programming / 数据库编程 281
5.1 The Design of JDBC / JDBC的设计 282
5.1.1 JDBC Driver Types / JDBC驱动程序分类 283
5.1.2 Typical Uses of JDBC / JDBC的典型用法 284
5.2 The Structured Query Language / 结构化查询语言 285
5.3 JDBC Configuration / JDBC配置 291
5.3.1 Database URLs / 数据库URL 292
5.3.2 Driver JAR Files / 驱动程序JAR文件 292
5.3.3 Starting the Database / 启动数据库 293
5.3.4 Registering the Driver Class / 注册驱动程序类 294
5.3.5 Connecting to the Database / 连接到数据库 294
5.4 Working with JDBC Statements / 使用JDBC语句 297
5.4.1 Executing SQL Statements / 执行SQL语句 298
5.4.2 Managing Connections, Statements, and Result Sets / 管理连接、语句和结果集 301
5.4.3 Analyzing SQL Exceptions / 分析SQL异常 302
5.4.4 Populating a Database / 填充数据库 305
5.5 Query Execution / 执行查询 309
5.5.1 Prepared Statements / 预备语句 309
5.5.2 Reading and Writing LOBs / 读写LOB 316
5.5.3 SQL Escapes / SQL转义 318
5.5.4 Multiple Results / 多结果集 319
5.5.5 Retrieving Autogenerated Keys / 获取自动生成的主键 320
5.6 Scrollable and Updatable Result Sets / 可滚动和可更新的结果集 321
5.6.1 Scrollable Result Sets / 可滚动的结果集 321
5.6.2 Updatable Result Sets / 可更新的结果集 324
5.7 Row Sets / 行集 328
5.7.1 Constructing Row Sets / 构建行集 329
5.7.2 Cached Row Sets / 缓存的行集 329
5.8 Metadata / 元数据 333
5.9 Transactions / 事务 344
5.9.1 Programming Transactions with JDBC / 使用JDBC编程实现事务 344
5.9.2 Save Points / 保存点 345
5.9.3 Batch Updates / 批量更新 345
5.10 Advanced SQL Types / 高级SQL类型 347
5.11 Connection Management in Web and Enterprise Applications / Web与企业应用中的连接管理 349
Chapter 6: The Date and Time API / 日期与时间API 351
6.1 The Time Line / 时间线 352
6.2 Local Dates / 本地日期 355
6.3 Date Adjusters / 日期调整 358
6.4 Local Time / 本地时间 360
6.5 Zoned Time / 时区时间 361
6.6 Formatting and Parsing / 格式化与解析 365
6.7 Interoperating with Legacy Code / 与遗留代码互操作 369
Chapter 7: Internationalization / 国际化 371
7.1 Locales / 地域 372
7.2 Number Formats / 数字格式 378
7.3 Currencies / 货币 384
7.4 Date and Time / 日期与时间 385
7.5 Collation and Normalization / 排序规则与标准化 393
7.6 Message Formatting / 消息格式化 400
7.6.1 Formatting Numbers and Dates / 格式化数字和日期 400
7.6.2 Choice Formats / choice格式化选项 402
7.7 Text Input and Output / 文本输入与输出 404
7.7.1 Text Files / 文本文件 405
7.7.2 Line Endings / 文本行结尾符号 405
7.7.3 The Console / 控制台 405
7.7.4 Log Files / 日志文件 406
7.7.5 The UTF-8 Byte Order Mark / UTF-8字节顺序标记 406
7.7.6 Character Encoding of Source Files / 源文件的字符编码 407
7.8 Resource Bundles / 资源包 408
7.8.1 Locating Resource Bundles / 定位资源包 409
7.8.2 Property Files / 属性文件 410
7.8.3 Bundle Classes / 包类 411
7.9 A Complete Example / 完整示例 413
Chapter 8: Scripting, Compiling, and Annotation Processing / 脚本、编译与注解处理 429
8.1 Scripting fo
Java核心技术 卷II 高级特性(第10版 英文版)(上下册) 电子书 下载 mobi epub pdf txt