Java SE 8 程序员 II 考试

该页面将 Java 教程中的各个部分 Map 到 Java SE 8 Programmer II 考试中涵盖的主题。该考试与 Oracle 认证 mavenJava SE 8 程序员证书相关联。该考试涵盖的主题是:

第 1 节:Java 类设计

项目 1: 实现封装。

项目 2: 实现继承,包括可见性修饰符和组成。

项目 3: 实现多态。

项目 4: 覆盖Object类中的hasCodeequalstoString方法。

项目 5: 创建和使用单例类和不可变类。

项目 6: 开发在初始化块,变量,方法和类上使用static关键字的代码。

第 2 节:高级类设计

项目 1: 开发使用抽象类和方法的代码。

项目 2: 开发使用final的代码。

项目 3: 创建内部类,包括静态内部类,局部类,嵌套类和匿名 intter 类。

项目 4: 使用enum类型的枚举类型,包括方法和构造函数

项目 5: 开发用于声明,实现和/或扩展interface并使用@Override注解的代码。

项目 6: 创建和使用 Lambda 表达式。

第 3 节:泛型和集合

Generics (Updated)类,Collections路径,尤其是指定的页面。

项目 1 :创建并使用泛型类。

项目 2 :创建并使用ArrayListTreeSetTreeMapArrayDeque对象。

项目 3 :使用java\.util\.Comparatorjava\.lang\.Comparableinterface。

项目 4 :集合,流和过滤器。

项目 5 :使用StreamsListforEach方法进行迭代。

项目 6 :描述Streaminterface和Stream管道。

项目 7 :使用 Lambda 表达式过滤集合。

项目 8 :对流使用方法引用。

第 4 节:Lambda 内置功能interface

Lambda ExpressionsAggregate Operations部分涉及以下一些项目:

项目 1 :使用java\.util\.function软件包中包含的内置interface,例如PredicateConsumerFunctionSupplier

项目 2 :开发使用功能interface原始版本的代码。

项目 3 :开发使用功能interface的二进制版本的代码。

项目 4 :开发使用UnaryOperatorinterface的代码。

第 5 节:Java Stream API

Lambda ExpressionsAggregate Operations部分涉及以下一些项目:

项目 1 :开发代码以使用 peek()和 map()方法(包括 map()方法的原始版本)从对象中提取数据。

项目 2 :使用 Stream 类的搜索方法(包括 findFirst,findAny,anyMatch,allMatch,noneMatch)搜索数据。

项目 3 :开发使用 Optional 类的代码。

项目 4 :开发使用 Stream 数据方法和计算方法的代码。

项目 5 :使用 Stream API 对集合进行排序。

项目 6 :使用 collect 方法将结果保存到集合中,并使用 Collectors 类将结果保存到组/分区数据中。

项目 7 :在 Stream API 中使用 flatMap()方法。

第 6 节:异常和 assert

项目 1: 使用try-catchthrows语句。

项目 2: 使用catchmulti\-catchfinally子句。

项目 3: 通过try -with-resources 语句使用自动关闭资源。

项目 4: 创建自定义 exception 和自动关闭资源。

项目 5: 通过使用 assert 测试不变量。

第 7 节:使用 Java SE 8 日期/时间 API

项目 1: 使用LocalDateLocalTimeLocalDateTimeInstantPeriodDuration创建和 管理 基于日期和基于时间的事件,包括将日期和时间组合到单个对象中。

项目 2: 处理跨timezone的日期和时间,并 管理 夏令时产生的更改,包括格式化日期和时间值。

项目 3: 使用InstantPeriodDurationTemporalUnit定义并创建和 管理 基于日期和基于时间的事件。

第 8 节:Java I/O 基础知识

项目 1 :从控制台读取和写入数据。

I/O Streams类,尤其是以下页面:

项目 2 :在java\.io package中使用BufferedReaderBufferedWriterFileFileReaderFileWriterFileInputStreamFileOutputStreamObjectOutputStreamObjectInputStreamPrintWriter

文件 I/O(以 NIO.2 为特色)类,尤其是以下页面:

第 9 节:Java 文件 I/O(NIO.2)

项目 1 :使用Pathinterface对文件和目录路径进行操作。

项目 2 :使用Files类检查,读取,删除,复制,移动和 管理 文件或目录的元数据。

项目 3 :将 Stream API 与 NIO.2 配合使用。

第 3 节:面向对象的设计原则

Java 教程不涉及“设计 Pattern”主题。以下参考资料涵盖了使用 Java 编程语言的设计 Pattern:

  • Elizabeth Freeman 等人的“ Head First 设计 Pattern”。

  • Tony Bevis 的“ Java 设计 Pattern 要点”

项目 1: 编写用于声明,实现和/或扩展interface的代码。

项目 2: 在interface继承和类继承之间选择。

第 3 项: 开发实现“ is-a”和/或“ has-a”关系的代码。

项目 4: 应用对象组成原则。

项目 5: 使用 Singleton 设计 Pattern 设计类。

项目 6: 编写代码以实现 DAOPattern。

项目 7: 使用工厂设计和创建对象,并使用 API 中的工厂。

第 5 节:字符串 处理

项目 1: 搜索,解析和构建字符串。

项目 2: 使用正则表达式搜索,解析和替换字符串。

项目 3: 使用字符串 格式。

第 10 节:并发

项目 1: 使用RunnableCallable创建工作线程,并使用ExecutorService并发执行任务。

项目 2: 找出死锁,饥饿,活动锁和竞争条件之间的潜在线程问题。

项目 3: 使用 synced 关键字和 java.util.concurrent.atomic 包来控制线程执行的 Sequences。

项目 4: 使用 java.util.concurrent 集合和类,包括 CyclicBarrier 和 CopyOnWriteArrayList。

项目 5: 使用并行 Fork/Join 框架。

项目 6: 使用并行流,包括归约,分解,合并过程,管道和性能。

第 11 节:使用 JDBC 构建数据库应用程序

项目 1: 描述构成 JDBC API 核心的interface,包括DriverConnectionStatementResultSetinterface以及它们与提供程序实现的关系。

项目 2: 标识使用 DriverManager 类(包括 JDBC URL)连接到数据库所需的组件。

项目 3: 提交查询并从数据库中读取结果,包括创建语句,返回结果集,遍历结果以及正确关闭结果集,语句和连接。

第 12 节:本地化

项目 1: 使用Locale对象读取并设置区域设置。

项目 2: 创建并读取Properties文件。

项目 3: 为每个语言环境构建资源束,并将资源束加载到应用程序中。