当前位置:主页 > 计算机电子书 > Java > Java核心技术下载
Java核心技术 卷II 高级特性(第11版)

Java核心技术 卷II 高级特性(第11版) PDF 超清完整版

  • 更新:2023-01-16
  • 大小:251 MB
  • 类别:Java核心技术
  • 作者:凯、S.霍斯特曼
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),本版针对Java 11全面更新。

建议与《卷I:基础知识》,一并阅读。

全书共分12章。

第1章介绍了Java中的流库;

第2章涵盖输入/输出处理,探讨了Java 11中引入的广受欢迎的改进和优化;

第3章介绍了XML,展示如何解析XML文件、生成XML和使用XSL转换;

第4章讲解了网络API,以及怎样连接到服务器、实现自己的服务器、创建HTTP连接,并讨论了新的HTTP客户端;

第5章介绍了数据库编程,重点讲解JDBC,即Java数据库连接API;

第6章涵盖如何使用新的日期和时间库来处理日历及时区;

第7章讨论国际化;

第8章介绍3种处理代码的技术;

第9章讲解从Java 9开始引入的Java平台模块系统,以促进Java平台和核心类库的有序演化;

第10章继续介绍Java安全模型,展示怎样编写类加载器和安全管理器,以及允许使用消息、代码签名、授权和认证及加密等重要特性的安全API;

第11章讨论没有纳入卷Ⅰ的所有Swing知识,包括树形构件、表格构件,以及Java 2D API;

第12章介绍本地方法,这个功能支持你调用为微软Windows API这样的特殊机制而编写的各种方法。

目录

  • 译者序
  • 前言
  • 致谢
  • 第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字节顺序标志  329
  • 7.6.6 源文件的字符编码  329
  • 7.7 资源包  330
  • 7.7.1 定位资源包  330
  • 7.7.2 属性文件  331
  • 7.7.3 包类  332
  • 7.8 一个完整的例子  333
  • 第8章 脚本、编译与注解处理  348
  • 8.1 Java平台的脚本机制  348
  • 8.1.1 获取脚本引擎  348
  • 8.1.2 脚本计算与绑定  349
  • 8.1.3 重定向输入和输出  351
  • 8.1.4 调用脚本的函数和方法  352
  • 8.1.5 编译脚本  353
  • 8.1.6 示例:用脚本处理GUI事件  354
  • 8.2 编译器API  358
  • 8.2.1 调用编译器  358
  • 8.2.2 发起编译任务  359
  • 8.2.3 捕获诊断消息  359
  • 8.2.4 从内存中读取源文件  360
  • 8.2.5 将字节码写出到内存中  360
  • 8.2.6 示例:动态Java代码生成  362
  • 8.3 使用注解  367
  • 8.3.1 注解简介  368
  • 8.3.2 示例:注解事件处理器  369
  • 8.4 注解语法  373
  • 8.4.1 注解接口  373
  • 8.4.2 注解  375
  • 8.4.3 注解各类声明  376
  • 8.4.4 注解类型用法  377
  • 8.4.5 注解this  378
  • 8.5 标准注解  379
  • 8.5.1 用于编译的注解  380
  • 8.5.2 用于管理资源的注解  381
  • 8.5.3 元注解  381
  • 8.6 源码级注解处理  383
  • 8.6.1 注解处理器  384
  • 8.6.2 语言模型API  384
  • 8.6.3 使用注解来生成源码  385
  • 8.7 字节码工程  388
  • 8.7.1 修改类文件  388
  • 8.7.2 在加载时修改字节码  393
  • 第9章 Java平台模块系统  395
  • 9.1 模块的概念  395
  • 9.2 对模块命名  396
  • 9.3 模块化的“Hello, World!”程序  397
  • 9.4 对模块的需求  398
  • 9.5 导出包  400
  • 9.6 模块化的JAR  403
  • 9.7 模块和反射式访问  404
  • 9.8 自动模块  406
  • 9.9 不具名模块  408
  • 9.10 用于迁移的命令行标识  409
  • 9.11 传递的需求和静态的需求  410
  • 9.12 限定导出和开放  411
  • 9.13 服务加载  412
  • 9.14 操作模块的工具  414
  • 第10章 安全  417
  • 10.1 类加载器  417
  • 10.1.1 类加载过程  418
  • 10.1.2 类加载器的层次结构  419
  • 10.1.3 将类加载器用作命名空间  420
  • 10.1.4 编写你自己的类加载器  421
  • 10.1.5 字节码校验  426
  • 10.2 安全管理器与访问权限  429
  • 10.2.1 权限检查  429
  • 10.2.2 Java平台安全性  431
  • 10.2.3 安全策略文件  434
  • 10.2.4 定制权限  439
  • 10.2.5 实现权限类  440
  • 10.3 用户认证  446
  • 10.3.1 JAAS框架  446
  • 10.3.2 JAAS登录模块  451
  • 10.4 数字签名  459
  • 10.4.1 消息摘要  460
  • 10.4.2 消息签名  463
  • 10.4.3 校验签名  465
  • 10.4.4 认证问题  467
  • 10.4.5 证书签名  469
  • 10.4.6 证书请求  469
  • 10.4.7 代码签名  470
  • 10.5 加密  472
  • 10.5.1 对称密码  473
  • 10.5.2 密钥生成  474
  • 10.5.3 密码流  478
  • 10.5.4 公共密钥密码  479
  • 第11章 高级Swing和图形化编程  483
  • 11.1 表格  483
  • 11.1.1 一个简单表格  483
  • 11.1.2 表格模型  486
  • 11.1.3 对行和列的操作  489
  • 11.1.4 单元格的绘制和编辑  503
  • 11.2 树  513
  • 11.2.1 简单的树  514
  • 11.2.2 节点枚举  526
  • 11.2.3 绘制节点  528
  • 11.2.4 监听树事件  530
  • 11.2.5 定制树模型  536
  • 11.3 高级AWT  544
  • 11.3.1 绘图操作流程  544
  • 11.3.2 形状  546
  • 11.3.3 区域  560
  • 11.3.4 笔画  561
  • 11.3.5 着色  567
  • 11.3.6 坐标变换  569
  • 11.3.7 剪切  574
  • 11.3.8 透明与组合  575
  • 11.4 像素图  583
  • 11.4.1 图像的读取器和写入器  583
  • 11.4.2 图像处理  591
  • 11.5 打印  604
  • 11.5.1 图形打印  604
  • 11.5.2 打印多页文件  612
  • 11.5.3 打印服务程序  620
  • 11.5.4 流打印服务程序  622
  • 11.5.5 打印属性  625
  • 第12章 本地方法  632
  • 12.1 从Java程序中调用C函数  633
  • 12.2 数值参数与返回值  637
  • 12.3 字符串参数  639
  • 12.4 访问域  644
  • 12.4.1 访问实例域  644
  • 12.4.2 访问静态域  648
  • 12.5 编码签名  648
  • 12.6 调用Java方法  650
  • 12.6.1 实例方法  650
  • 12.6.2 静态方法  653
  • 12.6.3 构造器  654
  • 12.6.4 另一种方法调用  654
  • 12.7 访问数组元素  656
  • 12.8 错误处理  659
  • 12.9 使用调用API  663
  • 12.10 完整的示例:访问Windows注册表  668
  • 12.10.1 Windows注册表概述  668
  • 12.10.2 访问注册表的Java平台接口  669
  • 12.10.3 以本地方法实现注册表访问函数  670

资源下载

资源下载地址1:https://pan.baidu.com/s/1u1ALvPkWL4gnsiBo0dMDNg

相关资源

网友留言