Java经典实例(第三版)

Java经典实例(第三版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (达尔文) , ,
2016-08
版次: 1
ISBN: 9787512387751
定价: 148.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 836页
字数: 1000千字
正文语种: 简体中文
44人买过
  •   《Java经典实例(第三版)》 从lambda表达式、JavaFX 8,到网络编程和支持移动设备等方面,Java 8都有许多更新。包含了数百个经过实践验证的技巧,内容涵盖了广泛的Java主题,可帮助你快速进入编程状态。你可以从中学到一切有用的技术,包括调试、数据结构、GUI开发和函数编程。  的每个技巧既给出了代码部分,也给出了运行结果,还有对它们的讨论。你可以免费使用这些代码。如果你对Java基础知识比较熟悉,学习将使你进一步掌握语言方面的通用知识和Java 8 中主要API方面的特殊知识。  的主题包括:  1.用于编译、运行和调试的方法。  对文本的处理、比较和重新安排。  2.用于字符串匹配和模式匹配的正则表达式。  ?处理数字、日期和时间。  3.使用集合、数组和其他类型实现数据的结构化。  4.面向对象技术和函数编程技术。  5.目录和文件系统运算符。  6.使用图形、视频和音频。  7.GUI开发,包括JavaFX和处理器。  8.客户端和服务器端的网络编程。  9.数据库访问,使用JPA、Hibernate和JDBC。  10.处理JSON和用于数据存储的XML。  11.多线程和并发机制。   Ian F.Darwin,已在计算机工业界工作了三十年。除了编程和提供咨询,Ian还为Learning Tree International公司讲授UNIX、C和Java,这是一家世界上zui大的培训公司之一。他还编写了《Checking C Programs with Lint》(O'Reilly 公司出版)一书,以及超过100篇有关C和UNIX方面的文章。 前言. 1 
    第1章 入门: 编译、 运行和调试Java程序. 19 
    1.0 引言 .19 
    1.1 编译和运行Java程序: JDK方式20 
    1.2 用带语法高亮显示的编辑器编辑和编译程序21 
    1.3 使用IDE编译、 运行和测试程序22 
    1.4 有效使用CLASSPATH.30 
    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 扩展和压缩Tab 97 
    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 程序: 完整的Grep.143 
    第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章 日期和时间——新的API 187 
    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 程序: Find.381 
    第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 程序: PlotterAWT .410 
    12.14 程序: Grapher .412 
    第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 在事件调度线程上运行GUI.453 
    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 GUI 492 
    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 程序: MenuIntl 522 
    15.12 程序: BusCard .524 
    第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 程序: MailClient.584 
    第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 程序: SQLRunner .623 
    第19章 处理JSON数据 . 636 
    19.0 引言 .636 
    19.1 直接生成 JSON638 
    19.2 使用Jackson解析和编写JSON .639 
    19.3 用org.json解析和编写JSON 640 
    第20章 处理XML 643 
    20.0 引言 .643 
    20.1 用JAXB在对象与XML之间转换 .646 
    20.2 使用序列化实现对象与XML之间的转换 648 
    20.3 通过XSLT转换XML 649 
    20.4 用SAX解析XML652 
    20.5 用DOM解析XML.654 
    20.6 用XPath查找XML元素 658 
    20.7 用Schema或DTD验证结构 659 
    20.8 用DOM和XML转换器生成自己的XML .662 
    20.9 程序xml2mif 664 
    第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 Start 686 
    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 程序: CrossRef .764 
    23.12 程序: AppletViewer 766 
    第24章 Java和其他语言的结合 773 
    24.0 引言 .773 
    24.1 在Java中运行外部程序 774 
    24.2 运行一个程序并捕捉其输出 778 
    24.3 通过javax.script调用其他语言.781 
    24.4 启动自己的脚本引擎 .783
  • 内容简介:
      《Java经典实例(第三版)》 从lambda表达式、JavaFX 8,到网络编程和支持移动设备等方面,Java 8都有许多更新。包含了数百个经过实践验证的技巧,内容涵盖了广泛的Java主题,可帮助你快速进入编程状态。你可以从中学到一切有用的技术,包括调试、数据结构、GUI开发和函数编程。  的每个技巧既给出了代码部分,也给出了运行结果,还有对它们的讨论。你可以免费使用这些代码。如果你对Java基础知识比较熟悉,学习将使你进一步掌握语言方面的通用知识和Java 8 中主要API方面的特殊知识。  的主题包括:  1.用于编译、运行和调试的方法。  对文本的处理、比较和重新安排。  2.用于字符串匹配和模式匹配的正则表达式。  ?处理数字、日期和时间。  3.使用集合、数组和其他类型实现数据的结构化。  4.面向对象技术和函数编程技术。  5.目录和文件系统运算符。  6.使用图形、视频和音频。  7.GUI开发,包括JavaFX和处理器。  8.客户端和服务器端的网络编程。  9.数据库访问,使用JPA、Hibernate和JDBC。  10.处理JSON和用于数据存储的XML。  11.多线程和并发机制。
  • 作者简介:
      Ian F.Darwin,已在计算机工业界工作了三十年。除了编程和提供咨询,Ian还为Learning Tree International公司讲授UNIX、C和Java,这是一家世界上zui大的培训公司之一。他还编写了《Checking C Programs with Lint》(O'Reilly 公司出版)一书,以及超过100篇有关C和UNIX方面的文章。
  • 目录:
    前言. 1 
    第1章 入门: 编译、 运行和调试Java程序. 19 
    1.0 引言 .19 
    1.1 编译和运行Java程序: JDK方式20 
    1.2 用带语法高亮显示的编辑器编辑和编译程序21 
    1.3 使用IDE编译、 运行和测试程序22 
    1.4 有效使用CLASSPATH.30 
    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 扩展和压缩Tab 97 
    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 程序: 完整的Grep.143 
    第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章 日期和时间——新的API 187 
    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 程序: Find.381 
    第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 程序: PlotterAWT .410 
    12.14 程序: Grapher .412 
    第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 在事件调度线程上运行GUI.453 
    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 GUI 492 
    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 程序: MenuIntl 522 
    15.12 程序: BusCard .524 
    第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 程序: MailClient.584 
    第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 程序: SQLRunner .623 
    第19章 处理JSON数据 . 636 
    19.0 引言 .636 
    19.1 直接生成 JSON638 
    19.2 使用Jackson解析和编写JSON .639 
    19.3 用org.json解析和编写JSON 640 
    第20章 处理XML 643 
    20.0 引言 .643 
    20.1 用JAXB在对象与XML之间转换 .646 
    20.2 使用序列化实现对象与XML之间的转换 648 
    20.3 通过XSLT转换XML 649 
    20.4 用SAX解析XML652 
    20.5 用DOM解析XML.654 
    20.6 用XPath查找XML元素 658 
    20.7 用Schema或DTD验证结构 659 
    20.8 用DOM和XML转换器生成自己的XML .662 
    20.9 程序xml2mif 664 
    第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 Start 686 
    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 程序: CrossRef .764 
    23.12 程序: AppletViewer 766 
    第24章 Java和其他语言的结合 773 
    24.0 引言 .773 
    24.1 在Java中运行外部程序 774 
    24.2 运行一个程序并捕捉其输出 778 
    24.3 通过javax.script调用其他语言.781 
    24.4 启动自己的脚本引擎 .783
查看详情
相关图书 / 更多
Java经典实例(第三版)
Java研发自测入门与进阶
林宁、魏兆玉
Java经典实例(第三版)
Java语言程序设计(2023年版)全国高等教育自学考试指导委员会
全国高等教育自学考试指导委员会
Java经典实例(第三版)
Java项目开发实战(微视频版)
陈强
Java经典实例(第三版)
Java+OpenCV案例佳作选
姚利民
Java经典实例(第三版)
Java核心编程技术(第4版微课版新世纪应用型高等教育软件专业系列规划教材)
张屹、蔡木生 编
Java经典实例(第三版)
Java Web及其框架技术
陈振兴
Java经典实例(第三版)
Japanese Ink Painting: The Art of Sumi-E
Okamoto;Naomi
Java经典实例(第三版)
JavaScript多线程编程实践
(美)托马斯 亨特二世(Thomas Hunter II),(加拿大)布莱恩 英格利什(Bryan English)
Java经典实例(第三版)
Java开发坑点解析:从根因分析到最佳实践
朱晔
Java经典实例(第三版)
Java面向对象程序设计(题库·微课视频版)
梁胜彬 主编 渠慎明 白晨希 马华蔚 甘志华 程素营 副主编
Java经典实例(第三版)
Java核心技术速学版(第3版)
(美)凯·S.霍斯特曼(Cay S. Horstmann)
Java经典实例(第三版)
Java到Kotlin:代码重构指南
(英)邓肯·麦格雷戈(Duncan McGregor)
您可能感兴趣 / 更多
Java经典实例(第三版)
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
Java经典实例(第三版)
《世界上最大的肚子》2024百班千人暑期书目学前中班名师推荐全新正版现货速发
[美]雷米·查利普(美)柏顿·萨普瑞
Java经典实例(第三版)
经济学通义
[美]阿门·A.阿尔钦 (美)威廉·R.艾伦 著;[美]杰里·L.乔丹 编
Java经典实例(第三版)
数字化领导力 数字化转型锦囊,领导力精进指南 一本书掌握数字化转型领导力之道
[美]艾萨克·萨科里克 著;王磊 译;颉腾文化 出品;邓斌
Java经典实例(第三版)
法哲学基本原理
[美]马克·C.墨菲
Java经典实例(第三版)
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
Java经典实例(第三版)
杜甫传
[美]弗洛伦斯.艾思柯
Java经典实例(第三版)
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
Java经典实例(第三版)
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
Java经典实例(第三版)
温柔亲启
[美]艾米莉·狄金森 著;[美]艾伦·路易斯·哈特、[美]玛莎·内尔·史密斯 编
Java经典实例(第三版)
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
Java经典实例(第三版)
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗