图灵程序设计丛书:Java进阶高手
首页 白天 夜间 下载 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

附录 B Java 2D 图形

来源 网络 浏览 1 扫码 打印 2026-05-15 11:02:45
  • 附录 B Java 2D 图形

    附录 B Java 2D 图形

    Java 库包含用于绘制 2D 图形的简单包 java.awt,其中的 AWT 指的是抽象窗口工具包(Abstract Window Toolkit)。这里只简要地介绍图形编程,更详细的信息请参阅相关的 Java 教程,网址为 https://docs.oracle.com/javase/tutorial/2d/。

    上一篇:
    下一篇:
    • 书签
    • 添加书签 移除书签
    • 总目录
    • 版权信息
    • 目录
    • 版权声明
    • 对本书上一版的赞誉
    • 前言
    • 致谢
    • 关于本书
    • 本书结构
    • 关于封面图片
    • 第一部分 基础知识
    • 第 1 章 Java 8、9、10以及11的变化
    • 1.1 为什么要关心Java的变化
    • 1.2 Java怎么还在变
    • 1.3 Java中的函数
    • 1.4 流
    • 1.5 默认方法及Java模块
    • 1.6 来自函数式编程的其他好思想
    • 1.7 小结
    • 第 2 章 通过行为参数化传递代码
    • 2.1 应对不断变化的需求
    • 2.2 行为参数化
    • 2.3 对付啰唆
    • 2.4 真实的例子
    • 2.5 小结
    • 第 3 章 Lambda表达式
    • 3.1 Lambda管中窥豹
    • 3.2 在哪里以及如何使用Lambda
    • 3.3 把Lambda付诸实践:环绕执行模式
    • 3.4 使用函数式接口
    • 3.5 类型检查、类型推断以及限制
    • 3.6 方法引用
    • 3.7 Lambda和方法引用实战
    • 3.8 复合Lambda表达式的有用方法
    • 3.9 数学中的类似思想
    • 3.10 小结
    • 第二部分 使用流进行函数式数据处理
    • 第 4 章 引入流
    • 4.1 流是什么
    • 4.2 流简介
    • 4.3 流与集合
    • 4.4 流操作
    • 4.5 路线图
    • 4.6 小结
    • 第 5 章 使用流
    • 5.1 筛选
    • 5.2 流的切片
    • 5.3 映射
    • 5.4 查找和匹配
    • 5.5 归约
    • 5.6 付诸实践
    • 5.7 数值流
    • 5.8 构建流
    • 5.9 概述
    • 5.10 小结
    • 第 6 章 用流收集数据
    • 6.1 收集器简介
    • 6.2 归约和汇总
    • 6.3 分组
    • 6.4 分区
    • 6.5 收集器接口
    • 6.6 开发你自己的收集器以获得更好的性能
    • 6.7 小结
    • 第 7 章 并行数据处理与性能
    • 7.1 并行流
    • 7.2 分支/合并框架
    • 7.3 Spliterator
    • 7.4 小结
    • 第三部分 使用流和Lambda进行高效编程
    • 第 8 章 Collection API的增强功能
    • 8.1 集合工厂
    • 8.2 使用List和Set
    • 8.3 使用Map
    • 8.4 改进的ConcurrentHashMap
    • 8.5 小结
    • 第 9 章 重构、测试和调试
    • 9.1 为改善可读性和灵活性重构代码
    • 9.2 使用Lambda重构面向对象的设计模式
    • 9.3 测试Lambda表达式
    • 9.4 调试
    • 9.5 小结
    • 第 10 章 基于Lambda的领域特定语言
    • 10.1 领域特定语言
    • 10.2 现代Java API中的小型DSL
    • 10.3 使用Java创建DSL的模式与技巧
    • 10.4 Java 8 DSL的实际应用
    • 10.5 小结
    • 第四部分 无所不在的Java
    • 第 11 章 用Optional取代null
    • 11.1 如何为缺失的值建模
    • 11.2 Optional类入门
    • 11.3 应用Optional的几种模式
    • 11.4 使用Optional的实战示例
    • 11.5 小结
    • 第 12 章 新的日期和时间API
    • 12.1 LocalDate、LocalTime、LocalDateTime、Instant、Duration以及Period
    • 12.2 操纵、解析和格式化日期
    • 12.3 处理不同的时区和历法
    • 12.4 小结
    • 第 13 章 默认方法
    • 13.1 不断演进的API
    • 13.2 概述默认方法
    • 13.3 默认方法的使用模式
    • 13.4 解决冲突的规则
    • 13.5 小结
    • 第 14 章 Java模块系统
    • 14.1 模块化的驱动力:软件的推理
    • 14.2 为什么要设计Java模块系统
    • 14.3 Java模块:全局视图
    • 14.4 使用Java模块系统开发应用
    • 14.5 使用多个模块
    • 14.6 编译及打包
    • 14.7 自动模块
    • 14.8 模块声明及子句
    • 14.9 通过一个更复杂的例子了解更多
    • 14.10 小结
    • 第五部分 提升Java的并发性
    • 第 15 章 CompletableFuture及反应式编程背后的概念
    • 15.1 为支持并发而不断演进的Java
    • 15.2 同步及异步API
    • 15.3 “线框–管道”模型
    • 15.4 为并发而生的CompletableFuture和结合器
    • 15.5 “发布–订阅”以及反应式编程
    • 15.6 反应式系统和反应式编程
    • 15.7 路线图
    • 15.8 小结
    • 第 16 章 CompletableFuture:组合式异步编程
    • 16.1 Future接口
    • 16.2 实现异步API
    • 16.3 让你的代码免受阻塞之苦
    • 16.4 对多个异步任务进行流水线操作
    • 16.5 响应CompletableFuture的completion事件
    • 16.6 路线图
    • 16.7 小结
    • 第 17 章 反应式编程
    • 17.1 反应式宣言
    • 17.2 反应式流以及Flow API
    • 17.3 使用反应式库RxJava
    • 17.4 小结
    • 第六部分 函数式编程以及Java未来的演进
    • 第 18 章 函数式的思考
    • 18.1 实现和维护系统
    • 18.2 什么是函数式编程
    • 18.3 递归和迭代
    • 18.4 小结
    • 第 19 章 函数式编程的技巧
    • 19.1 无处不在的函数
    • 19.2 持久化数据结构
    • 19.3 Stream的延迟计算
    • 19.4 模式匹配
    • 19.5 杂项
    • 19.6 小结
    • 第 20 章 面向对象和函数式编程的混合:Java和Scala的比较
    • 20.1 Scala简介
    • 20.2 函数
    • 20.3 类和trait
    • 20.4 小结
    • 第 21 章 结论以及Java的未来
    • 21.1 回顾Java 8的语言特性
    • 21.2 Java 9的模块系统
    • 21.3 Java 10的局部变量类型推断
    • 21.4 Java的未来
    • 21.5 让Java发展得更快
    • 21.6 写在最后的话
    • 附录 A 其他语言特性的更新
    • A.1 注解
    • A.2 通用目标类型推断
    • 附录 B 其他类库的更新
    • B.1 集合
    • B.2 并发
    • B.3 Arrays
    • B.4 Number和Math
    • B.5 Files
    • B.6 Reflection
    • B.7 String
    • 附录 C 如何以并发方式在同一个流上执行多种操作
    • C.1 复制流
    • C.2 性能的考量
    • 附录 D Lambda表达式和JVM字节码
    • D.1 匿名类
    • D.2 生成字节码
    • D.3 用InvokeDynamic力挽狂澜
    • D.4 代码生成策略
    • 版权信息
    • 目录
    • 版权声明
    • 前言
    • 涵盖的内容
    • 需要什么
    • 为谁而写
    • 排版约定
    • 致谢
    • 第 1 章 Java虚拟机
    • 1.1 JVM实现
    • 1.2 为何要在JVM上开发
    • 1.3 常见的用途
    • 1.4 JVM概念
    • 1.5 Java版本
    • 1.6 其他JVM语言
    • 1.7 小结
    • 第 2 章 Java虚拟机开发
    • 2.1 JDK
    • 2.2 使用包组织类
    • 2.3 Java类库
    • 2.4 从命令行运行JVM应用程序
    • 2.5 Eclipse IDE
    • 2.6 小结
    • 第 3 章 Java
    • 3.1 Java 中的面向对象编程功能
    • 3.2 编写Java代码
    • 3.3 编程风格指南
    • 3.4 小测验
    • 3.5 小结
    • 第 4 章 Java编程
    • 4.1 配置Eclipse IDE
    • 4.2 使用Java创建Web服务
    • 4.3 小结
    • 第 5 章 Scala
    • 5.1 安装Scala
    • 5.2 Scala的REPL shell
    • 5.3 函数式编程和命令式编程
    • 5.4 Scala语法和规则
    • 5.5 Scala的OOP功能
    • 5.6 Scala标准库
    • 5.7 Scala的函数式编程功能
    • 5.8 小测验
    • 5.9 小结
    • 第 6 章 Scala编程
    • 6.1 Scala IDE for Eclipse插件
    • 6.2 SBT
    • 6.3 创建Akka项目
    • 6.4 小结
    • 第 7 章 Clojure
    • 7.1 安装Clojure
    • 7.2 Clojure的交互式shell(REPL)
    • 7.3 Clojure语言
    • 7.4 使用Java类
    • 7.5 使用代理管理状态
    • 7.6 风格指南
    • 7.7 小测验
    • 7.8 小结
    • 第 8 章Clojure编程
    • 8.1 Eclipse IDE插件Counterclockwise
    • 8.2 构建工具Leiningen
    • 8.3 创建可执行的Clojure程序
    • 8.4 新建Counterclockwise项目
    • 8.5 以测试驱动开发的方式探索monad
    • 8.6 Web框架Luminus
    • 8.7 小结
    • 第 9 章 Kotlin
    • 9.1 安装Kotlin
    • 9.2 Kotlin的REPL交互式shell
    • 9.3 Kotlin语言基础
    • 9.4 Kotlin的OOP功能
    • 9.5 Kotlin过程性编程
    • 9.6 风格指南
    • 9.7 小测验
    • 9.8 小结
    • 第 10 章 Kotlin编程
    • 10.1 Eclipse IDE Kotlin插件
    • 10.2 Apache Maven
    • 10.3 创建JavaFX桌面GUI应用程序
    • 10.4 小结
    • 第 11 章 Groovy
    • 11.1 安装Groovy
    • 11.2 Groovy语言
    • 11.3 Groovy开发包(GDK)
    • 11.4 动态和静态编程
    • 11.5 小测验
    • 11.6 小结
    • 第 12 章 Groovy编程
    • 12.1 安装Groovy Eclipse插件
    • 12.2 Apache Ivy和IvyDE
    • 12.3 创建并配置项目
    • 12.4 Java Database Connectivity(JDBC)
    • 12.5 使用MarkupBuilder生成XML
    • 12.6 微服务平台Vert.x
    • 12.7 小结
    • 附录 A 其他JVM语言
    • A.1 Oracle Nashorn
    • A.3 JRuby(Ruby)
    • A.4 Frege(Haskell)
    • A.5 Ceylon
    • A.6 小结
    • 附录 B 小测验答案
    • 版权信息
    • 目录
    • 版权声明
    • O'Reilly Media, Inc. 介绍
    • 业界评论
    • 推荐序
    • 前言
    • 读者对象
    • 排版约定
    • 使用代码示例
    • Safari® Books Online
    • 联系我们
    • 致谢
    • 第 1 章 导论
    • 1.1 概述
    • 1.2 平台版本约定
    • 1.3 全面的性能调优
    • 1.4 小结
    • 第 2 章 性能测试方法
    • 2.1 原则1:测试真实应用
    • 2.2 原则2:理解批处理流逝时间、吞吐量和响应时间
    • 2.3 原则3:用统计方法应对性能的变化
    • 2.4 原则4:尽早频繁测试
    • 2.5 小结
    • 第 3 章 Java 性能调优工具箱
    • 3.1 操作系统的工具和分析
    • 3.2 Java监控工具
    • 3.3 性能分析工具
    • 3.4 Java任务控制
    • 3.5 小结
    • 第 4 章 JIT 编译器
    • 4.1 JIT编译器:概览
    • 4.2 调优入门:选择编译器类型(Client、Server或二者同用)
    • 4.3 Java和JIT编译器版本
    • 4.4 编译器中级调优
    • 4.5 高级编译器调优
    • 4.6 逆优化
    • 4.7 分层编译级别
    • 4.8 小结
    • 第 5 章 垃圾收集入门
    • 5.1 垃圾收集概述
    • 5.2 GC调优基础
    • 5.3 垃圾回收工具
    • 5.4 小结
    • 第 6 章 垃圾收集算法
    • 6.1 理解Throughput收集器
    • 6.2 理解CMS收集器
    • 6.3 理解G1垃圾收集器
    • 6.4 高级调优
    • 6.5 小结
    • 第 7 章 堆内存最佳实践
    • 7.1 堆分析
    • 7.2 减少内存使用
    • 7.3 对象生命周期管理
    • 7.4 小结
    • 第 8 章 原生内存最佳实践
    • 8.1 内存占用
    • 8.2 针对不同操作系统优化JVM
    • 8.3 小结
    • 第 9 章 线程与同步的性能
    • 9.1 线程池与ThreadPoolExecutor
    • 9.2 ForkJoinPool
    • 9.3 线程同步
    • 9.4 JVM线程调优
    • 9.5 监控线程与锁
    • 9.6 小结
    • 第 10 章 Java EE 性能调优
    • 10.1 Web容器的基本性能
    • 10.2 线程池
    • 10.3 EJB会话Bean
    • 10.4 XML和JSON处理
    • 10.5 对象序列化
    • 10.6 Java EE网络API
    • 10.7 小结
    • 第 11 章 数据库性能的最佳实践
    • 11.1 JDBC
    • 11.2 JPA
    • 11.3 小结
    • 第 12 章 Java SE API 技巧
    • 12.1 缓冲式I/O
    • 12.2 类加载
    • 12.3 随机数
    • 12.4 Java原生接口
    • 12.5 异常
    • 12.6 字符串的性能
    • 12.7 日志
    • 12.8 Java集合类API
    • 12.9 AggressiveOpts标志
    • 12.10 Lambda表达式和匿名类
    • 12.11 流和过滤器的性能
    • 12.12 小结
    • 附录 A 性能调优标志摘要
    • 作者简介
    • 关于封面
    • 看完了
    • 版权信息
    • 目录
    • 版权声明
    • 译者序
    • 致
    • 前言
    • 本书内容
    • 阅读前提
    • 本书读者
    • 排版约定
    • 读者反馈
    • 第 1 章 第一步:并发设计原理
    • 1.1 基本的并发概念
    • 1.2 并发应用程序中可能出现的问题
    • 1.3 设计并发算法的方法论
    • 1.4 Java并发API
    • 1.5 并发设计模式
    • 1.6 设计并发算法的提示和技巧
    • 1.7 小结
    • 第 2 章 使用基本元素:Thread和Runnable
    • 2.1 Java中的线程
    • 2.2 第一个例子:矩阵乘法
    • 2.3 第二个例子:文件搜索
    • 2.4 小结
    • 第 3 章 管理大量线程:执行器
    • 3.1 执行器简介
    • 3.2 第一个例子:k-最近邻算法
    • 3.3 第二个例子:客户端/服务器环境下的并发处理
    • 3.4 小结
    • 第 4 章 充分利用执行器
    • 4.1 执行器的高级特性
    • 4.2 第一个例子:高级服务器应用程序
    • 4.3 第二个例子:执行周期性任务
    • 4.4 有关执行器的其他信息
    • 4.5 小结
    • 第 5 章 从任务获取数据:Callable接口与Future接口
    • 5.1 Callable接口和Future接口简介
    • 5.2 第一个例子:单词最佳匹配算法
    • 5.3 第二个例子:为文档集创建倒排索引
    • 5.4 小结
    • 第 6 章 运行分为多阶段的任务:Phaser类
    • 6.1 Phaser类简介
    • 6.2 第一个例子:关键字抽取算法
    • 6.3 第二个例子:遗传算法
    • 6.4 小结
    • 第 7 章 优化分治解决方案:Fork/Join框架
    • 7.1 Fork/Join框架简介
    • 7.2 第一个例子:k-means聚类算法
    • 7.3 第二个例子:数据筛选算法
    • 7.4 第三个例子:归并排序算法
    • 7.5 Fork/Join框架的其他方法
    • 7.6 小结
    • 第 8 章 使用并行流处理大规模数据集:MapReduce模型
    • 8.1 流的简介
    • 8.2 第一个例子:数值综合分析应用程序
    • 8.3 第二个例子:信息检索工具
    • 8.4 小结
    • 第 9 章 使用并行流处理大规模数据集:MapCollect模型
    • 9.1 使用流收集数据
    • 9.2 第一个例子:无索引条件下的数据搜索
    • 9.3 第二个例子:推荐系统
    • 9.4 第三个例子:社交网络中的共同联系人
    • 9.5 小结
    • 第 10 章 异步流处理:反应流
    • 10.1 Java反应流简介
    • 10.2 第一个例子:面向事件通知的集中式系统
    • 10.3 第二个例子:新闻系统
    • 10.4 小结
    • 第 11 章 探究并发数据结构和同步工具
    • 11.1 并发数据结构
    • 11.2 同步机制
    • 11.3 小结
    • 第 12 章 测试与监视并发应用程序
    • 12.1 监视并发对象
    • 12.2 监视并发应用程序
    • 12.3 测试并发应用程序
    • 12.4 小结
    • 第 13 章 JVM中的并发处理:Clojure、带有GPars库的Groovy以及Scala
    • 13.1 Clojure的并发处理
    • 13.2 Groovy及其GPars库的并发处理
    • 13.3 软件事务性内存
    • 13.4 Scala的并发处理
    • 13.5 小结
    • 看完了
    • 版权信息
    • 目录
    • 版权所有
    • O'Reilly Media
    • 业界评论
    • 前言
    • 为什么要阅读本书
    • 本书读者对象
    • 怎样阅读本书
    • 本书排版规范
    • 使用代码示例
    • Safari® Books Online
    • 联系我们
    • 致谢
    • 第 1 章 简介
    • 1.1 为什么需要再次修改Java
    • 1.2 什么是函数式编程
    • 1.3 示例
    • 第 2 章 Lambda表达式
    • 2.1 第一个Lambda表达式
    • 2.2 如何辨别Lambda表达式
    • 2.3 引用值,而不是变量
    • 2.4 函数接口
    • 2.5 类型推断
    • 2.6 要点回顾
    • 2.7 练习
    • 第 3 章 流
    • 3.1 从外部迭代到内部迭代
    • 3.2 实现机制
    • 3.3 常用的流操作
    • 3.4 重构遗留代码
    • 3.5 多次调用流操作
    • 3.6 高阶函数
    • 3.7 正确使用Lambda表达式
    • 3.8 要点回顾
    • 3.9 练习
    • 3.10 进阶练习
    • 第 4 章 类库
    • 4.1 在代码中使用Lambda表达式
    • 4.2 基本类型
    • 4.3 重载解析
    • 4.4 @FunctionalInterface
    • 4.5 二进制接口的兼容性
    • 4.6  默认方法
    • 4.7 多重继承
    • 4.8 权衡
    • 4.9 接口的静态方法
    • 4.10 Optional
    • 4.11 要点回顾
    • 4.12 练习
    • 4.13 开放练习
    • 第 5 章 高级集合类和收集器
    • 5.1 方法引用
    • 5.2 元素顺序
    • 5.3 使用收集器
    • 5.4 一些细节
    • 5.5 要点回顾
    • 5.6 练习
    • 第 6 章 数据并行化
    • 6.1 并行和并发
    • 6.2 为什么并行化如此重要
    • 6.3 并行化流操作
    • 6.4 模拟系统
    • 6.5 限制
    • 6.6 性能
    • 6.7 并行化数组操作
    • 6.8 要点回顾
    • 6.9 练习
    • 第 7 章 测试、调试和重构
    • 7.1 重构候选项
    • 7.2 Lambda表达式的单元测试
    • 7.3 在测试替身时使用Lambda表达式
    • 7.4 惰性求值和调试
    • 7.5 日志和打印消息
    • 7.6 解决方案:peak
    • 7.7 在流中间设置断点
    • 7.8 要点回顾
    • 第 8 章 设计和架构的原则
    • 8.1 Lambda表达式改变了设计模式
    • 8.2 使用Lambda表达式的领域专用语言
    • 8.3 使用Lambda表达式的SOLID原则
    • 8.4 进阶阅读
    • 8.5 要点回顾
    • 第 9 章 使用Lambda表达式编写并发程序
    • 9.1 为什么要使用非阻塞式I/O
    • 9.2 回调
    • 9.3 消息传递架构
    • 9.4 末日金字塔
    • 9.5 Future
    • 9.6 CompletableFuture
    • 9.7 响应式编程
    • 9.8 何时何地使用新技术
    • 9.9 要点回顾
    • 9.10 练习
    • 第 10 章 下一步该怎么办
    • 封面介绍
    • 看完了
    • 版权信息
    • 目录
    • 版权声明
    • O'Reilly Media, Inc. 介绍
    • 业界评论
    • 前言
    • 编写理念
    • 面向对象编程
    • 附录
    • 使用代码示例
    • 排版约定
    • Safari® Books Online
    • 联系我们
    • 致谢
    • 第 1 章 编程之道
    • 1.1 何为编程
    • 1.2 何为计算机科学
    • 1.3 编程语言
    • 1.4 Hello World程序
    • 1.5 显示字符串
    • 1.6 转义序列
    • 1.7 设置代码格式
    • 1.8 调试代码
    • 1.9 术语表
    • 1.10 练习
    • 第 2 章 变量和运算符
    • 2.1 声明变量
    • 2.2 赋值
    • 2.3 状态图
    • 2.4 显示变量
    • 2.5 算术运算符
    • 2.6 浮点数
    • 2.7 舍入误差
    • 2.8 字符串运算符
    • 2.9 组合
    • 2.10 错误类型
    • 2.11 术语表
    • 2.12 练习
    • 第 3 章 输入和输出
    • 3.1 System类
    • 3.2 Scanner类
    • 3.3 程序结构
    • 3.4 英寸到厘米的转换
    • 3.5 字面量和常量
    • 3.6 设置输出的格式
    • 3.7 厘米到英寸的转换
    • 3.8 求模运算符
    • 3.9 整合
    • 3.10 Scanner类的bug
    • 3.11 术语表
    • 3.12 练习
    • 第 4 章 void 方法
    • 4.1 Math类的方法
    • 4.2 再谈组合
    • 4.3 添加方法
    • 4.4 执行流程
    • 4.5 形参和实参
    • 4.6 多个形参
    • 4.7 栈图
    • 4.8 阅读文档
    • 4.9 编写文档
    • 4.10 术语表
    • 4.11 练习
    • 第 5 章 条件和逻辑
    • 5.1 关系运算符
    • 5.2 逻辑运算符
    • 5.3 条件语句
    • 5.4 串接和嵌套
    • 5.5 标志变量
    • 5.6 return语句
    • 5.7 验证输入
    • 5.8 递归方法
    • 5.9 递归栈图
    • 5.10 二进制数
    • 5.11 术语表
    • 5.12 练习
    • 第 6 章 值方法
    • 6.1 返回值
    • 6.2 编写方法
    • 6.3 方法组合
    • 6.4 重载
    • 6.5 boolean方法
    • 6.6 Javadoc标签
    • 6.7 再谈递归
    • 6.8 姑且相信
    • 6.9 再举一个例子
    • 6.10 术语表
    • 6.11 练习
    • 第 7 章 循环
    • 7.1 while语句
    • 7.2 生成表格
    • 7.3 封装和泛化
    • 7.4 再谈泛化
    • 7.5 for语句
    • 7.6 do-while循环
    • 7.7 break和continue
    • 7.8 术语表
    • 7.9 练习
    • 第 8 章 数组
    • 8.1 创建数组
    • 8.2 访问元素
    • 8.3 显示数组
    • 8.4 复制数组
    • 8.5 数组的长度
    • 8.6 数组遍历
    • 8.7 随机数
    • 8.8 遍历和计数
    • 8.9 生成直方图
    • 8.10 改进的for循环
    • 8.11 术语表
    • 8.12 练习
    • 第 9 章 字符串
    • 9.1 字符
    • 9.2 字符串是不可修改的
    • 9.3 字符串遍历
    • 9.4 子串
    • 9.5 方法indexOf
    • 9.6 字符串比较
    • 9.7 设置字符串的格式
    • 9.8 包装类
    • 9.9 命令行实参
    • 9.10 术语表
    • 9.11 练习
    • 第 10 章 对象
    • 10.1 Point对象
    • 10.2 属性
    • 10.3 将对象用作参数
    • 10.4 将对象作为返回类型
    • 10.5 可修改的对象
    • 10.6 指定别名
    • 10.7 关键字null
    • 10.8 垃圾收集
    • 10.9 类图
    • 10.10 Java类库的源代码
    • 10.11 术语表
    • 10.12 练习
    • 第 11 章 类
    • 11.1 Time类
    • 11.2 构造函数
    • 11.3 再谈构造函数
    • 11.4 获取方法和设置方法
    • 11.5 显示对象
    • 11.6 方法toString
    • 11.7 方法equals
    • 11.8 时间相加
    • 11.9 纯方法和非纯方法
    • 11.10 术语表
    • 11.11 练习
    • 第 12 章 对象数组
    • 12.1 Card对象
    • 12.2 方法toString
    • 12.3 类变量
    • 12.4 方法compareTo
    • 12.5 Card对象是不可修改的
    • 12.6 Card数组
    • 12.7 顺序查找
    • 12.8 二分法查找
    • 12.9 跟踪代码
    • 12.10 递归版本
    • 12.11 术语表
    • 12.12 练习
    • 第 13 章 数组对象
    • 13.1 Deck类
    • 13.2 洗牌
    • 13.3 选择排序
    • 13.4 合并排序
    • 13.5 方法subdeck
    • 13.6 方法merge
    • 13.7 添加递归
    • 13.8 术语表
    • 13.9 练习
    • 第 14 章 包含其他对象的对象
    • 14.1 Deck和手里的牌
    • 14.2 CardCollection
    • 14.3 继承
    • 14.4 发牌
    • 14.5 Player类
    • 14.6 Eights类
    • 14.7 类之间的关系
    • 14.8 术语表
    • 14.9 练习
    • 附录 A 开发工具
    • A.1 安装DrJava
    • A.2 DrJava Interactions窗格
    • A.3 命令行界面
    • A.4 命令行测试
    • A.5 运行Checkstyle
    • A.6 使用调试器进行跟踪
    • A.7 用JUnit进行测试
    • A.8 术语表
    • 附录 B Java 2D 图形
    • B.1 创建图形
    • B.2 Graphics类的方法
    • B.3 绘图示例
    • B.4 术语表
    • B.5 练习
    • 附录 C 调试
    • C.1 编译时错误
    • C.2 运行时错误
    • C.3 逻辑错误
    • 作者简介
    • 封面简介
    • 看完了
    • 版权信息
    • 目录
    • 版权声明
    • O'Reilly Media, Inc. 介绍
    • 业界评论
    • 献给
    • 序
    • 前言
    • 第6版的变化
    • 本书内容
    • 相关书籍
    • 在线示例
    • 排版约定
    • 发表评论
    • Safari® Books Online
    • 致谢
    • 第一部分 Java 介绍
    • 第 1 章 Java 环境介绍
    • 1.1 Java语言、JVM和生态系统
    • 1.2 Java和JVM简史
    • 1.3 Java程序的生命周期
    • 1.4 Java的安全性
    • 1.5 Java和其他语言比较
    • 1.6 回应对Java的一些批评
    • 第 2 章 Java 基本句法
    • 2.1 Java程序概览
    • 2.2 词法结构
    • 2.3 基本数据类型
    • 2.4 表达式和运算符
    • 2.5 语句
    • 2.6 方法
    • 2.7 介绍类和对象
    • 2.8 数组
    • 2.9 引用类型
    • 2.10 包和Java命名空间
    • 2.11 Java文件的结构
    • 2.12 定义并运行Java程序
    • 2.13 小结
    • 第 3 章 Java 面向对象编程
    • 3.1 类简介
    • 3.2 字段和方法
    • 3.3 创建和初始化对象
    • 3.4 子类和继承
    • 3.5 数据隐藏和封装
    • 3.6 抽象类和方法
    • 3.7 修饰符总结
    • 第 4 章 Java 类型系统
    • 4.1 接口
    • 4.2 Java泛型
    • 4.3 枚举和注解
    • 4.4 嵌套类型
    • 4.5 lambda表达式
    • 4.6 小结
    • 第 5 章 Java 的面向对象设计
    • 5.1 Java的值
    • 5.2 java.lang.Object类的重要方法
    • 5.3 面向对象设计要略
    • 5.4 异常和异常处理
    • 5.5 Java编程的安全性
    • 第 6 章 Java 实现内存管理和并发编程的方式
    • 6.1 Java内存管理的基本概念
    • 6.2 JVM优化垃圾回收的方式
    • 6.3 HotSpot堆
    • 6.4 终结机制
    • 6.5 Java对并发编程的支持
    • 6.6 使用线程
    • 6.7 小结
    • 第二部分 使用 Java 平台
    • 第 7 章 编程和文档约定
    • 7.1 命名和大小写约定
    • 7.2 实用的命名方式
    • 7.3 Java文档注释
    • 7.4 可移植程序的约定
    • 第 8 章 使用Java集合
    • 8.1 介绍集合API
    • 8.2 在Java集合框架中使用lambda表达式
    • 8.3 小结
    • 第 9 章 处理常见的数据格式
    • 9.1 文本
    • 9.2 数字和数学运算
    • 9.3 在Java 8中处理日期和时间
    • 9.4 小结
    • 第 10 章 处理文件和 I/O
    • 10.1 Java处理I/O的经典方式
    • 10.2 Java处理I/O的现代方式
    • 10.3 NIO中的通道和缓冲区
    • 10.4 异步I/O
    • 10.5 网络
    • 第 11 章 类加载、反射和方法句柄
    • 11.1 类文件、类对象和元数据
    • 11.2 类加载的各个阶段
    • 11.3 安全的编程和类加载
    • 11.4 应用类加载知识
    • 11.5 反射
    • 11.6 动态代理
    • 11.7 方法句柄
    • 第 12 章 Nashorn
    • 12.1 介绍Nashorn
    • 12.2 在Nashorn中执行JavaScript代码
    • 12.3 Nashorn和javax.script包
    • 12.4 Nashorn的高级用法
    • 12.5 小结
    • 第 13 章 平台工具和配置
    • 13.1 命令行工具
    • 13.2 VisualVM
    • 13.3 Java 8配置
    • 13.4 小结
    • 作者简介
    • 封面介绍
    • 看完了
    • 版权信息
    • 空标题文档
    • 版权声明
    • O'Reilly Media, Inc. 介绍
    • 业界评论
    • 译者序
    • 序
    • 前言
    • 目标读者
    • 本书结构
    • 排版约定
    • 示例代码
    • O'Reilly Safari
    • 联系我们
    • 致谢
    • 第 1 章 基础知识
    • 1.1 lambda表达式
    • 1.2 方法引用
    • 1.3 构造函数引用
    • 1.4 函数式接口
    • 1.5 接口中的默认方法
    • 1.6 接口中的静态方法
    • 第 2 章 java.util.function 包
    • 2.1 Consumer接口
    • 2.2 Supplier接口
    • 2.3 Predicate接口
    • 2.4 Function接口
    • 第 3 章 流式操作
    • 3.1 流的创建
    • 3.2 装箱流
    • 3.3 利用reduce方法实现归约操作
    • 3.4 利用reduce方法校验排序
    • 3.5 利用peek方法对流进行调试
    • 3.6 字符串与流之间的转换
    • 3.7 获取元素数量
    • 3.8 汇总统计
    • 3.9 查找流的第一个元素
    • 3.10 使用anyMatch、allMatch与noneMatch方法
    • 3.11 使用flatMap与map方法
    • 3.12 流的拼接
    • 3.13 惰性流
    • 第 4 章 比较器与收集器
    • 4.1 利用比较器实现排序
    • 4.2 将流转换为集合
    • 4.3 将线性集合添加到映射
    • 4.4 对映射排序
    • 4.5 分区与分组
    • 4.6 下游收集器
    • 4.7 查找最大值和最小值
    • 4.8 创建不可变集合
    • 4.9 实现Collector接口
    • 第 5 章 流式操作、lambda表达式与方法引用的相关问题
    • 5.1 java.util.Objects类
    • 5.2 lambda表达式与效果等同于final的变量
    • 5.3 随机数流
    • 5.4 Map接口的默认方法
    • 5.5 默认方法冲突
    • 5.6 集合与映射的迭代
    • 5.7 利用Supplier创建日志消息
    • 5.8 闭包复合
    • 5.9 利用提取的方法实现异常处理
    • 5.10 受检异常与lambda表达式
    • 5.11 泛型异常包装器的应用
    • 第 6 章 Optional类
    • 6.1 Optional的创建
    • 6.2 从Optional中检索值
    • 6.3 getter和setter方法中的Optional
    • 6.4 Optional.flatMap与Optional.map方法
    • 6.5 Optional的映射
    • 第 7 章 文件I/O
    • 7.1 文件处理
    • 7.2 以流的形式检索文件
    • 7.3 文件系统的遍历
    • 7.4 文件系统的搜索
    • 第 8 章 java.time包
    • 8.1 Date-Time API中的基本类
    • 8.2 根据现有实例创建日期和时间
    • 8.3 调节器与查询
    • 8.4 将java.util.Date转换为java.time.LocalDate
    • 8.5 解析与格式化
    • 8.6 查找具有非整数小时偏移量的时区
    • 8.7 根据UTC偏移量查找地区名
    • 8.8 获取事件之间的时间
    • 第 9 章 并行与并发
    • 9.1 将顺序流转换为并行流
    • 9.2 并行流的优点
    • 9.3 调整线程池大小
    • 9.4 Future接口
    • 9.5 完成CompletableFuture
    • 9.6 多个CompletableFuture之间的协调(第1部分)
    • 9.7 多个CompletableFuture之间的协调(第2部分)
    • 第 10 章 Java 9 新特性
    • 10.1 Jigsaw中的模块
    • 10.2 接口中的私有方法
    • 10.3 创建不可变集合
    • 10.4 新增的Stream方法
    • 10.5 下游收集器:filtering与flatMapping
    • 10.6 新增的Optional方法
    • 10.7 日期范围
    • 附录 A 泛型与Java 8
    • A.2 众所周知的事实
    • A.3 容易忽略的事实
    • A.4 通配符与PECS
    • A.5 Java 8 API示例
    • A.6 小结
    • 作者简介
    • 封面介绍
    • 看完了
    暂无相关搜索结果!

      本文档使用 BookStack 构建

      展开/收起文章目录

      思维导图备注

      文章二维码

      手机扫一扫,轻松掌上读

      文档下载

      请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
      PDF文档 EPUB文档 MOBI文档

      书签列表

        阅读记录

        阅读进度: 0.00% ( 0/0 ) 重置阅读进度