图书介绍
Java经典实例 第3版PDF|Epub|txt|kindle电子书版本网盘下载
![Java经典实例 第3版](https://www.shukui.net/cover/10/31952999.jpg)
- (美)达尔文(Ian F.Darwin) 著
- 出版社: 北京:中国电力出版社
- ISBN:9787512387751
- 出版时间:2016
- 标注页数:817页
- 文件大小:236MB
- 文件页数:835页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java经典实例 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
前言1
第1章 入门:编译、运行和调试Java程序19
1.0引言19
1.1 编译和运行Java程序:JDK方式20
1.2 用带语法高亮显示的编辑器编辑和编译程序21
1.3 使用IDE编译、运行和测试程序22
1.4 有效使用CLASSPATH30
1.5 下载和使用代码示例32
1.6 使用Ant工具自动编译37
1.7 使用Apache Maven自动设置依赖关系、编译、测试和部署40
1.8 使用Gradle自动设置依赖关系、编译、测试和部署45
1.9 处理过期警告46
1.10 没有#ifdef的条件编译48
1.11 使用断言机制维护程序的正确性50
1.12 使用JDB调试51
1.13 用单元测试避免调试53
1.14 用持续集成维护代码56
1.15 获取可读回溯60
1.16 更多的Java源代码:程序、框架和库61
第2章 与运行环境交互65
2.0引言65
2.1 获得环境变量65
2.2 从系统属性获得信息67
2.3 了解当前的JDK版本68
2.4 编写操作系统相关的代码69
2.5 使用扩展包或其他API包72
2.6 解析命令行参数73
第3章 字符串80
3.0 引言80
3.1 用Substring分解字符串82
3.2 将字符串分解成词83
3.3 用StringBuilder连接字符串87
3.4 处理单个字符串89
3.5 字符串对齐91
3.6 Unicode字符和String之间的转换93
3.7 按单词或字符颠倒字符串96
3.8 扩展和压缩Tab97
3.9 控制字母大小写101
3.10 缩排文本文档102
3.11 输入非打印字符103
3.12 删除字符串的尾部空格104
3.13 解析用逗号分隔的数据106
3.14 程序:一个简单的文本格式化工具110
3.15 程序:Soundex算法112
第4章 正则表达式的模式匹配116
4.0 引言116
4.1 正则表达式语法118
4.2 在Java中使用正则表达式:测试模式124
4.3 找到匹配的文本128
4.4 替换匹配的文本130
4.5 打印匹配的所有字符串132
4.6 打印包含一个模式的行134
4.7 在正则表达式中控制大小写135
4.8 匹配“重音符”或复合字符136
4.9 在文本中匹配换行符138
4.10 程序:Apache日志文件解析139
4.11 程序:数据挖掘141
4.12 程序:完整的Grep143
第5章 数字149
5.0 引言149
5.1 检查字符串是否是有效数字151
5.2 用小数据类型储存大数据类型的数字153
5.3 数字与对象的相互转换154
5.4 直接使用分数而不用浮点数155
5.5 保证浮点数的准确157
5.6 比较浮点数159
5.7 舍入浮点数160
5.8 格式化数字161
5.9 二进制、八进制、十进制和十六进制之间的转换164
5.10 对整数序列的操作165
5.11 使用罗马数字166
5.12 复数的正确格式化170
5.13 生成随机数172
5.14 计算三角函数174
5.15 取对数175
5.16 矩阵乘法176
5.17 使用复数178
5.18 处理非常大的数字180
5.19 程序:TempConverter182
5.20 程序:数字回文184
第6章 日期和时间——新的API187
6.0 引言187
6.1 查看当天日期190
6.2 日期和时间的格式化191
6.3 日期/时间、YMDHMS和纪元秒(Epoch Seconds)之间的转换193
6.4 将字符串解析为日期194
6.5 两个日期之间的差195
6.6 日期或日历的加减196
6.7 与传统日期和日历类的接口197
第7章 结构化数据199
7.0 引言199
7.1 使用数组200
7.2 调整数组长度201
7.3 集合框架203
7.4 动态数组列表204
7.5 使用泛型集合207
7.6 使用泛型避免强制类型转换208
7.7 迭代器的使用方式211
7.8 使用Set避免元素重复存储213
7.9 使用迭代器或枚举215
7.10 链表结构216
7.11 使用Hashtable和 HashMap进行映射219
7.12 Properties类和Preferences类221
7.13 对集合排序225
7.14 避免频繁排序229
7.15 在集合中查找对象231
7.16 将集合转换为数组233
7.17 自定义迭代器234
7.18 堆栈237
7.19 多维结构240
7.20 程序:运行时间比较242
第8章 面向对象技术245
8.0 引言245
8.1 使用toString()格式化对象并输出247
8.2 覆盖equals()和hashCode()方法249
8.3 使用关闭钩子清理程序254
8.4 使用内部类256
8.5 通过接口提供回调257
8.6 多态性/抽象方法260
8.7 传递数值262
8.8 使用类型安全的枚举265
8.9 Singleton模式269
8.10 自定义异常271
8.11 使用依赖注入272
8.12 程序:绘图仪275
第9章 函数式编程技术:函数接口、流、并行集合279
9.0 引言279
9.1 使用lambda/Closure替代内部类281
9.2 使用lambda预定义接口284
9.3 使用流287
9.4 使用并行流与集合提高吞吐量288
9.5 创建自己的函数式接口289
9.6 函数引用292
9.7 Java Mixins:方法混合296
第10章 输入与输出298
10.0 引言298
10.1 从标准输入设备读取数据301
10.2 从控制台或控制终端读取数据,隐藏读取密码303
10.3 向标准输出或标准错误流写数据305
10.4 使用Formatter和printf输出307
10.5 使用Stream Tokenizer的扫描输入310
10.6 使用Scanner类扫描输入315
10.7 使用语法结构扫描输入318
10.8 按文件名打开文件319
10.9 复制文件320
10.10 把文件读入一个字符串326
10.11 重新分配标准流327
10.12 复制一个流328
10.13 读/写不同的字符集331
10.14 行结束符332
10.15 平台相关的文件编码332
10.16 阅读“连续”行334
10.17 读/写二进制数据338
10.18 在文件中定位338
10.19 处理C程序写的数据流340
10.20 存储和还原Java对象342
10.21 防止ClassCastExceptions异常345
10.22 读写JRA或Zip文档347
10.23 利用get Resource()和getResourceAsStream()获得文件350
10.24 读写压缩文件352
10.25 了解串行和并行端口的通信API353
10.26 将用户数据保存到磁盘357
10.27 程序:将文本输出为PostScript格式361
第11章 目录和文件系统操作364
11.0 引言364
11.1 获取文件信息364
11.2 创建一个文件367
11.3 重命名一个文件368
11.4 删除一个文件369
11.5 创建临时文件370
11.6 改变文件属性372
11.7 列出目录内容373
11.8 获取根目录375
11.9 创建新的目录377
11.10 使用路径而不是文件377
11.11 使用FileWatcher服务得到文件变化的通知379
11.12 程序:Find381
第12章 媒体:图形、音频、视频384
12.0 引言384
12.1 使用Graphics对象画图385
12.2 无需编写主函数显示图形组件386
12.3 绘制文本387
12.4 在组件中央绘制文本388
12.5 绘制阴影389
12.6 绘制2D(二维)文本391
12.7 使用应用程序字体绘制文本394
12.8 绘制图像396
12.9 使用javax.imageio读写图像399
12.10 播放音频/语音文件401
12.11 播放视频文件402
12.12 在Java中打印407
12.13 程序:PlotterAWT410
12.14 程序:Grapher412
第13章 网络客户端416
13.0 引言416
13.1 访问服务器418
13.2 查找和报告网络地址419
13.3 处理网络错误421
13.4 读写文本数据422
13.5 读写二进制数据424
13.6 读写串行化数据427
13.7 UDP数据报428
13.8 程序:TFTP的UDP客户端431
13.9 URI、URL,还是URN?435
13.10 轻量级Web服务客户端436
13.11 SOAP Web服务客户端438
13.12 程序:Telnet客户端442
13.13 程序:聊天客户端444
13.14 程序:简单的HTTP链接检查器448
第14章 图形用户界面450
14.0 引言450
14.1 显示GUI(图形用户界面)组件451
14.2 在事件调度线程上运行GUI453
14.3 设计一个窗口布局454
14.4 选项卡视图457
14.5 事件处理:使按钮工作458
14.6 使用匿名内部类进行事件处理460
14.7 使用Lambdas的事件处理461
14.8 用“窗口关闭”来终止程序462
14.9 对话框467
14.10 捕捉和格式化GUI异常469
14.11 在窗口上打印472
14.12 使用JSpinner选择一个值478
14.13 用JFileChoose选择一个文件479
14.14 选择一种颜色481
14.15 用HTML格式jcomponents484
14.16 将主窗口居中显示485
14.17 改变Swing程序的外观和感觉488
14.18 改进MAC OS X下的Swing GUI492
14.19 使用JavaFX构建GUI应用程序494
14.20 程序:定制字体选择器496
14.21 程序:定制AWT/Swing布局管理器500
第15章 国际化和本地化508
15.0 引言508
15.1 用I18N资源创建一个按钮509
15.2 列出可用的语言环境511
15.3 使用I18N资源创建菜单512
15.4 编写国际化的方便子程序512
15.5 使用I18N资源创建一个对话框514
15.6 创建一个资源包516
15.7 从代码中提取字符串517
15.8 使用特定的语言环境518
15.9 设置默认语言环境519
15.10 使用MessageFormat格式化消息520
15.11 程序:MenuIntl522
15.12 程序:BusCard524
第16章 Java服务器端528
16.0 引言528
16.1 打开服务器套接字529
16.2 返回一个响应(字符串或二进制)531
16.3 通过网络连接返回对象信息534
16.4 处理多个客户端535
16.5 为 HTTP协议服务540
16.6 用SSL和JSSE保护Web服务器542
16.7 网络日志545
16.8 使用SLF4J进行网络日志记录546
16.9 使用log4j进行网络日志记录548
16.10 使用java.util.logging进行网络日志记录551
16.11 查找网络接口553
16.12 程序:一个Java聊天服务器554
第17章 Java和电子邮箱560
17.0 引言560
17.1 发送电子邮件:浏览器版本561
17.2 发送电子邮件:真实的564
17.3 启用服务器程序的邮件发送567
17.4 发送MIME邮件572
17.5 提供邮件设置575
17.6 阅读电子邮件576
17.7 程序:MailReaderBean580
17.8 程序:MailClient584
第18章 数据库访问594
18.0 引言594
18.1 用JPA或Hibernate轻松访问数据库596
18.2 JDBC设置和连接601
18.3 连接JDBC数据库604
18.4 发送一个JDBC查询并获取结果607
18.5 使用JDBC准备好的语句610
18.6 在JDBC中使用存储过程614
18.7 使用ResultSet修改数据614
18.8 在RowSet中存储615
18.9 使用 SQL更新数据617
18.10 查找JDBC元数据619
18.11 程序:SQLRunner623
第19章 处理JSON数据636
19.0 引言636
19.1 直接生成JSON638
19.2 使用Jackson解析和编写JSON639
19.3 用org.json解析和编写JSON640
第20章 处理XML643
20.0 引言643
20.1 用JAXB在对象与XML之间转换646
20.2 使用序列化实现对象与XML之间的转换648
20.3 通过XSLT转换XML649
20.4 用SAX解析XML652
20.5 用DOM解析XML654
20.6 用XPath查找XML元素658
20.7 用Schema或DTD验证结构659
20.8 用DOM和XML转换器生成自己的XML662
20.9 程序xm12mif664
第21章 包和打包667
21.0 引言667
21.1 创建一个封装包668
21.2 用Javadoc为类写文档669
21.3 超出Javadoc:注解/元数据673
21.4 用jar归档675
21.5 从一个JAR运行一个程序676
21.6 将一个类作为JavaBean678
21.7 将Bean放入一个JAR中681
21.8 打包一个Servlet到WAR文件683
21.9 编写一次,随处安装684
21.10 编写一次,在Mac OS X上进行安装684
21.11 Java Web Start686
21.12 签名你的JAR文件692
第22章 Java线程694
22.0 引言694
22.1 在不同线程中运行代码696
22.2 用动画显示运动图像700
22.3 停止一个线程704
22.4 交会和超时707
22.5 用synchronized关键字实现线程同步708
22.6 使用锁简化同步714
22.7 用wait()和notifyAll()同步线程718
22.8 使用队列接口简化生产者/消费者模式723
22.9 用Fork/Join优化并行处理725
22.10 在编辑器的后台保存729
22.11 程序:多线程网络服务器730
22.12 使用Concurrency Utilities简化服务器736
第23章 反射或“命名类的类”739
23.0 引言739
23.1 获取类描述符740
23.2 查找并使用方法和域741
23.3 通过反射访问私有的方法和域744
23.4 动态加载并实例化一个类746
23.5 通过一个ClassLoader从头开始构造一个类748
23.6 性能计时749
23.7 输出类的信息753
23.8 显示包中包含的类清单755
23.9 使用和定义注解757
23.10 通过注解找到类似插件的类762
23.11 程序:CrossRef764
23.12 程序:AppletViewer766
第24章 Java和其他语言的结合773
24.0 引言773
24.1 在Java中运行外部程序774
24.2 运行一个程序并捕捉其输出778
24.3 通过javax.script调用其他语言781
24.4 启动自己的脚本引擎783
24.5 Java和Perl的结合787
24.6 通过本机代码调用其他语言790
24.7 从本机代码中调用Java795
后记799
附录A Java的过去与现在801