JAVA核心技术卷2:高级特征(原书第8版)

下载地址:网盘下载

 

 

 

内容简介  · · · · · ·

作者简介  · · · · · ·

Cay S。 Horstmann,圣何塞州立大学计算机科学系教授、Java的倡导者,经常在开发人员会议上发表演讲。他是《Scala for the Impatient》(Addison-Wesley, 2012)的作者,并参与撰写了《Core JavaServerTM Faces,Third Edition》(Prentice Hall, 2010)。

Gary Cornell,已经教授程序设计专业课程20余年,并撰写了多部专著。他是Apress的创始人之一。他撰写的程序设计专业书籍十分畅销,曾荣获Jolt大奖,并获得Visual Basic Magazine的读者最喜爱作品大奖。

目录  · · · · · ·

译者序
前言
第1章 流与文件 1
1.1 流 1
1.1.1 读写字节 1
1.1.2 完整的流家族 3
1.1.3 组合流过滤器 7
1.2 文本输入与输出 10
1.2.1 如何写出文本输出 10
1.2.2 如何读入文本输入 13
1.2.3 以文本格式存储对象 13
1.2.4 字符集 16
1.3 读写二进制数据 20
1.4 ZIP文档 27
1.5 对象流与序列化 29
1.5.1 理解对象序列化的文件格式 34
1.5.2 修改默认的序列化机制 39
1.5.3 序列化单例和类型安全的枚举 40
1.5.4 版本管理 42
1.5.5 为克隆使用序列化 44
1.6 操作文件 46
1.6.1 Path 46
1.6.2 读写文件 48
1.6.3 复制、移动和删除文件 49
1.6.4 创建文件和目录 50
1.6.5 获取文件信息 51
1.6.6 迭代目录中的文件 53
1.6.7 ZIP文件系统 55
1.7 内存映射文件 56
1.7.1 缓冲区数据结构 62
1.7.2 文件加锁机制 64
1.8 正则表达式 66
第2章 XML 76
2.1 XML概述 76
2.2 解析XML文档 81
2.3 验证XML文档 91
2.3.1 文档类型定义 92
2.3.2 XML Schema 98
2.3.3 实用示例 101
2.4 使用XPath来定位信息 113
2.5 使用命名空间 119
2.6 流机制解析器 121
2.6.1 使用SAX解析器 122
2.6.2 使用StAX解析器 126
2.7 生成XML文档 129
2.7.1 不带命名空间的文档 130
2.7.2 带命名空间的文档 130
2.7.3 写出文档 131
2.7.4 示例:生成SVG文件 131
2.7.5 使用StAX写XML文档 133
2.8 XSL转换 140
第3章 网络 151
3.1 连接到服务器 151
3.1.1 套接字超时 155
3.1.2 因特网地址 156
3.2 实现服务器 157
3.2.1 为多个客户端服务 160
3.2.2 半关闭 163
3.3 可中断套接字 164
3.4 获取Web数 171
3.4.1 URL和URI 171
3.4.2 使用URLConnection获取信息 173
3.4.3 提交表单数据 181
3.5 发送E-mail 187
第4章 数据库编程 191
4.1 JDBC的设计 191
4.1.1 JDBC驱动程序类型 192
4.1.2 JDBC的典型用法 193
4.2 结构化查询语言 194
4.3 JDBC配置 198
4.3.1 数据库URL 199
4.3.2 驱动程序JAR文件 199
4.3.3 启动数据库 199
4.3.4 注册驱动器类 200
4.3.5 连接到数据库 201
4.4 执行SQL语句 203
4.4.1 管理连接、语句和结果集 206
4.4.2 分析SQL异常 207
4.4.3 组装数据库 209
4.5 执行查询操作 212
4.5.1 预备语句 212
4.5.2 读写LOB 218
4.5.3 SQL转义 219
4.5.4 多结果集 220
4.5.5 获取自动生成键 221
4.6 可滚动和可更新的结果集 222
4.6.1 可滚动的结果集 222
4.6.2 可更新的结果集 224
4.7 行集 228
4.7.1 构建行集 228
4.7.2 被缓存的行集 229
4.8 元数据 231
4.9 事务 240
4.9.1 保存点 241
4.9.2 批量更新 241
4.9.3 高级SQL类型 243
4.10 Web与企业应用中的连接管理 244
第5章 国际化 246
5.1 Locales 246
5.2 数字格式 251
5.3 日期和时间 257
5.4 排序 264
5.4.1 排序强度 265
5.4.2 分解 265
5.5 消息格式化 270
选择格式 272
5.6 文本文件和字符集 273
源文件的字符编码 274
5.7 资源包 275
5.7.1 定位资源包 275
5.7.2 属性文件 276
5.7.3 包类 277
5.8 一个完整的例子 278
第6章 高级Swing 293
6.1 列表 293
6.1.1 JList构件 293
6.1.2 列表模式 298
6.1.3 插入和移除值 302
6.1.4 值的绘制 304
6.2 表格 307
6.2.1 简单表格 307
6.2.2 表格模型 310
6.2.3 对行和列的操作 314
6.2.4 单元格的绘制和编辑 328
6.3 树 338
6.3.1 简单的树 339
6.3.2 节点枚举 352
6.3.3 绘制节点 353
6.3.4 监听树事件 356
6.3.5 定制树模型 362
6.4 文本构件 370
6.4.1 文本构件中的修改跟踪 371
6.4.2 格式化的输入框 373
6.4.3 JSpinner构件 388
6.4.4 用JEditorPane显示HTML 395
6.5 进度指示器 401
6.5.1 进度条 401
6.5.2 进度监视器 404
6.5.3 监视输入流的进度 407
6.6 构件组织器和装饰器 411
6.6.1 分割面板 411
6.6.2 选项卡面板 414
6.6.3 桌面面板和内部框体 419
6.6.4 级联与平铺 422
6.6.5 否决属性设置 425
第7章 高级AWT 440
7.1 绘图操作流程 440
7.2 形状 442
7.3 区域 456
7.4 笔划 458
7.5 着色 465
7.6 坐标变换 466
7.7 剪切 471
7.8 透明与组合 473
7.9 绘图提示 481
7.10 图像的读取器和写入器 486
7.10.1 获得图像文件类型的读取器和写入器 487
7.10.2 读取和写入带有多个图像的文件 488
7.11 图像处理 496
7.11.1 构建光栅图像 496
7.11.2 图像过滤 502
7.12 打印 510
7.12.1 图形打印 510
7.12.2 打印多页文件 518
7.12.3 打印预览 520
7.12.4 打印服务程序 528
7.12.5 流打印服务程序 531
7.12.6 打印属性 532
7.13 剪贴板 538
7.13.1 用于数据传递的类和接口 539
7.13.2 传递文本 540
7.13.3 Transferable接口和数据风格 543
7.13.4 构建一个可传递的图像 545
7.13.5 通过系统剪贴板传递Java对象 548
7.13.6 使用本地剪贴板来传递对象引用 552
7.14 拖放操作 552
7.14.1 Swing对数据传递的支持 553
7.14.2 拖曳源 557
7.14.3 放置目标 559
7.15 平台集成 566
7.15.1 闪屏 566
7.15.2 启动桌面应用程序 571
7.15.3 系统托盘 576
第8章 JavaBean构件 581
8.1 为何使用Bean 581
8.2 编写Bean的过程 583
8.3 使用Bean构造应用程序 585
8.3.1 将Bean打包成JAR文件 585
8.3.2 在开发环境中组合Bean 586
8.4 Bean属性与事件的命名模式 591
8.5 Bean属性的类型 594
8.5.1 简单属性 594
8.5.2 索引属性 594
8.5.3 绑定属性 595
8.5.4 约束属性 596
8.6 BeanInfo类 603
8.7 属性编辑器 607
8.8 定制器 616
8.9 JavaBean持久化 624
8.9.1 JavaBean持久化可用于任何数据 628
8.9.2 一个JavaBean持久化的完整示例 633
第9章 安全 644
9.1 类加载器 645
9.1.1 类加载器的层次结构 646
9.1.2 将类加载器作为命名空间 647
9.1.3 编写你自己的类加载器 648
9.2 字节码校验 653
9.3 安全管理器与访问权限 657
9.3.1 Java平台安全性 658
9.3.2 安全策略文件 661
9.3.3 定制权限 667
9.3.4 实现权限类 669
9.4 用户认证 674
9.5 数字签名 687
9.5.1 消息摘要 688
9.5.2 消息签名 691
9.5.3 校验签名 693
9.5.4 认证问题 695
9.5.5 证书签名 697
9.5.6 证书请求 698
9.6 代码签名 699
9.6.1 JAR文件签名 699
9.6.2 软件开发者证书 702
9.7 加密 704
9.7.1 对称密码 705
9.7.2 密钥生成 706
9.7.3 密码流 710
9.7.4 公共密钥密码 711
第10章 脚本、编译与注解处理 716
10.1 Java平台的脚本 716
10.1.1 获取脚本引擎 716
10.1.2 脚本赋值与绑定 717
10.1.3 重定向输入和输出 719
10.1.4 调用脚本的函数和方法 720
10.1.5 编译脚本 722
10.1.6 一个示例:用脚本处理GUI事件 722
10.2 编译器API 727
10.2.1 编译便捷之法 727
10.2.2 使用编译工具 727
10.2.3 一个示例:动态Java代码生成 732
10.3 使用注解 737
10.4 注解语法 743
10.5 标准注解 746
10.5.1 用于编译的注解 747
10.5.2 用于管理资源的注解 748
10.5.3 元注解 748
10.6 源码级注解处理 750
10.7 字节码工程 756
第11章 分布式对象 765
11.1 客户与服务器的角色 765
11.2 远程方法调用 767
11.3 RMI编程模型 769
11.3.1 接口与实现 769
11.3.2 RMI注册表 770
11.3.3 部署程序 774
11.3.4 记录RMI活动的日志 776
11.4 远程方法中的参数和返回值 778
11.4.1 传递远程对象 778
11.4.2 传递非远程对象 779
11.4.3 动态类加载 781
11.4.4 具有多重接口的远程引用 785
11.4.5 远程对象与equals、hashCode和clone方法 786
11.5 远程对象激活 786
第12章 本地方法 792
12.1 从Java程序中调用C函数 793
12.2 数值参数与返回值 797
12.3 字符串参数 799
12.4 访问域 804
12.4.1 访问实例域 804
12.4.2 访问静态域 808
12.5 编码签名 809
12.6 调用Java方法 810
12.6.1 实例方法 810
12.6.2 静态方法 813
12.6.3 构造器 814
12.6.4 替代方法调用 815
12.7 访问数组元素 816
12.8 错误处理 820
12.9 使用调用API 824
12.10 完整的示例:访问Windows注册表 829
12.10.1 Windows注册表概述 829
12.10.2 访问注册表的Java平台接口 830
12.10.3 以本地方法方式实现注册表访问函数 830

 

 

 

下载地址:网盘下载

 

转载于:https://www.cnblogs.com/long12365/p/9730285.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python处理teradata数据库_Python脚本连接Teradata数据库

Connect Teradata frompythonBaseon Linux Ubuntu with python2.7参考网络搜索结果,具体出处不记得了,结合自身实践总结。以下操作为Linux环境,其他环境请自行调整。(中英文结合是因为这个总结最初也是受惠于歪果仁的分享)1, Install python …

Linux下的Shell编程之Helloworld.sh看过来

1.编写HelloWorld.sh vim HelloWorld.sh 2.按下i进行编辑 里面的代码如下: #!bin/sh echo "hello world!" 然后Esc退出编辑模式 然后:wq保存并退出vim 小白看参考: 小白vim指令学习 3.运行HelloWorld.sh(方式有两种) a.sh HelloWorld.sh …

python数据录入和分析_hive+python数据分析入门

本文作者系 leanote 的核心开发者, 多谢关注leanote. leanote官网, leanote github为什么要使用hivepython来分析数据举个例子,当年没有数据库的时候, 人们通过编程来操作文件系统, 这相当于我们编写mapreduce来分析数据.后来有了数据库, 没人再操作文件系统了(除非有其它需求)…

Linux下删除非空文件目录

删除目录大家第一反应应该和我一样都是rmdir 但今天有一个目录里因为配置有好多文件直接烦死,不能rmdir直接删除,要是使用这个指令还要先用cd指令转换到该目录下一个个删除,实在是有点麻烦,最后终于还是找到了正确的打开方式。 …

python不同版本共存_多版本Python共存的配置方法

同一台PC中,如果同时安装Python2和Python3环境,会在执行python命令时出现错误,操作系统会找到默认的配置进行执行。怎么样才能让python2和python3一起工作又互相不影响呢。但是由于工作需要,我们的个人PC上可能需要多个python版本…

jdk1.8配置(自我速成)

1.JAVA_HOME 变量名字:JAVA_HOME 变量值:找到自己安装jdk的目录即可,有的教程路径到了bin,但其实到不到都可以。 2.CLASSPATH 变量名:CLASSPATH 变量值: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 注意这里那个英文的点点不要少了…

Java 8 中的 Streams API 详解

Java 8 中的 Streams API 详解转载于:https://www.cnblogs.com/LionheartCGJ/p/8488825.html

Eclipse export导出war包报错(Module name is invalid.)

出于设计模式的作业过程中遇到的问题,老师要求代码文件最后大家要导出war包,前两次还好好的,今天突然报错 这里来说一下原因,也就是web项目可以导出war包,而java项目是不可以的,下面的操作其实本质上就是给…

车载电脑中控软件_数字图书馆智能化系统集成-ipad中控软件

随着社会发展进入数字化时代,智慧展厅一词,也渐渐的让我们熟悉,在打造智慧展厅的同时,“中控系统软件”功不可没,中控系统软件的可能大家对这个产品也不是特别了解,但接下来,鼎深小编所要介绍的…

Tool:Visual Studio

ylbtech-Tool:Visual StudioMicrosoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环…

const的用法以及与define使用的区别

const使用于C语言中,用于定义常变量,即用 const 定义的变量的值是不允许改变的,即不允许给它重新赋值,即使是赋相同的值也不可以。 因此有的时候也称定义的为只读变量。 虽然 const 定义的是只读变量,就相当于是定义一…

[Poi2011]Tree Rotations线段树合并

整理一下线段树合并的思路,大体是给每个树上节点分配一个根编号建一棵log长的权值线段树,一开始树上只有这个树节点的节点权merge两个树节点的时候,对于当前合并的值域(例如两棵线段树的表示1到n/2的节点),…

word activex部件不能创建对象_如何用Word批量制作员工工作证?1分钟搞定1000份!只需三步...

工作证是我们工作中很常见的东西,不过由于每个人的名字、部门、照片都不同,很多小伙伴都不知道怎么批量制作,总是傻傻地一张一张制作,这样特别浪费时间,今天小编就来跟大家分享如何批量制作!一、准备工作1、…

【Hadoop系列】HDFS

Hadoop的前世今生 什么是大数据 各行各业都会产生大量的数据,比如社交网站的意见观点,电商平台人们浏览网页停留的时间,交通运输每天产生的数据等等。这些数据大多不是结构化的,一般来说都是半结构化或者非结构化的 在以前&#x…

phpstudy使用(80端口被system占用,无法关闭和删除)

在使用phpstudy的时候直接一键启动,显示提示80端口已被占用,在尝试关闭和删除后显示被system占用,无法关闭。 这里我首先试着去用任务管理器彻底关闭删除这个进程,后来发现提示,如果删除可能会影响系统正常运行&#…

kingbase自带的驱动在哪_德国制造到底强在哪?从工博会上伺服驱动的创新上能看出真相!...

随着2014年协作机器人在中国兴起,UR、新松、达明、遨博、大族激光等企业积极布局协作机器人市场。2014-2019年,我国协作机器人销量复合增速一度超过了50%,2019年我国协作机器人产量超过8000台。但目前协作机器人和AGV的核心零部件高端市场&am…

phpstudy(自己电脑主机做服务器,手机网站界面打不开)

可能有多种原因, 1.手机电脑并没有连接同一个局域网。 2.我这里是因为修改了80端口,在登录时忘记修改登录的网址。 因为80端口被占用,于是我修改了phpstudy的端口为8080,在上传成功后,使用手机输入电脑的Ip地址死活打…

3结构介绍_豹驰(BOACH)声学材料吸隔声方法介绍—(下)材料隔声特性曲线

基于前两个章节(《豹驰声学材料吸/隔测试方法基础介绍—(上)》&《豹驰声学材料吸/隔声测试方法介绍—(中)》的声学材料吸隔声测试方法介绍,可以了解材料的检测手段及如何有效的采用测试获取数字化模型搭建的输入,支持吸隔声材料制品的设计开发&#…

jQuery基本语法

一、jQuery基础1.为什么要用jquery? 写起来简单,省事,开发效率高,兼容性好2、什么是jQuery? jQuery是一个兼容多浏览器的JavaScript库(类似python里面的模块)3、如何使用jQuery? 1、导…

1-1圆柱体的表面积(算法竞赛入门经典)

源码: #include<iostream> #include<bits/stdc.h> using namespace std; int main() {double r,h;const double piacos(-1.0);double s,s1,s2;cin>>r>>h;s12*pi*r*r;s22*pi*r*h;ss1s2;printf("Area%.3f\n",s);return 0; }收获: 1.const定义…