文档

Java™ 教程-Java Tutorials 中文版
Java SE 8 升级考试
Trail: Bonus
Lesson: Preparation for Java Programmer Language Certification

Java SE 8 升级考试

此页面将 Java 教程中的部分映射到升级到 Java SE 8 OCP(Oracle 认证专业人员)(Java SE 6 和所有先前版本)和升级 Java SE 7 到 Java SE 8 OCP 考试中涵盖的主题。这些考试与 Oracle Certified Professional,Java SE 8 Programmer 证书相关联。

升级到 Java SE 8 OCP(Java SE 6 及所有先前版本)

本次考试涉及的主题是:

  1. 语言增强
  2. 并发
  3. 本地化
  4. Java 文件 I/O(NIO.2)
  5. Lambda
  6. Java 集合
  7. Java 流

Section1:语言增强

Item1:开发相关代码,在 switch 语句中使用 String 对象,二进制字面量和数字字面量,包括字面量中的下划线

Item2:开发使用 try-with-resources 语句的代码,包括使用实现 AutoCloseable 接口的类

Item3:开发在单个 catch 块中处理多个 Exception 类型的代码

Item4:使用接口的静态和默认方法,包括默认方法的继承规则

Section2:并发

Item1:使用 java.util.concurrent 包中的类,包括 CyclicBarrierCopyOnWriteArrayList,重点是与传统 java.util 集合相比的优点

Item2:使用 java.util.concurrent.locksjava.util.concurrent.atomic 包中的 LockReadWriteLockReentrantLock 类支持单变量的无锁线程安全编程

Item3:使用 ExecutorExecutorServiceExecutorsCallableFuture 来使用线程池执行任务

Item4:使用并行 Fork/Join Framework

Section3:本地化

Item1:描述本地化应用程序和开发使用 Locale 对象定义,读取和设置语言环境的代码的优点

Item2:为语言环境构建资源包并从应用程序调用资源包

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

Item4:使用 NumberFormatDateFormat 类格式化本地化的日期,数字和货币值,包括数字和日期格式模式

Item5:处理跨时区的日期和时间,并管理夏令时产生的变化

Section4:Java 文件 I/O(NIO.2)

Item1:使用 java.nio.Path 类在文件和目录路径上操作

Item2:使用 java.nio.Files 类检查,删除,复制或移动文件或目录

Item3:使用 DirectoryStreamFileVisitor 接口递归访问目录树

Item4:使用 PathMatcher 接口查找文件,并使用 Java SE 8 I/O 改进,包括 Files.findFiles.walkFiles.lines methods

Item5:使用 WatchService 接口观察目录中的更改

Section5:Lambda

Lambda ExpressionsAggregate Operations 部分涵盖以下某些项目:

Item1:定义和编写功能接口并描述 java.util.function 包的接口

Item2:描述一个 lambda 表达式;重构使用匿名内部类来的代码为使用 lambda 表达式;描述类型推断和目标类型

Item3:开发使用 java.util.function 包中包含的内置接口的代码,例如 FunctionConsumerSupplierUnaryOperatorPredicateOptional API,包括接口的基本和二元变体

Item4:开发使用方法引用的代码,包括将 lambda 表达式重构为方法引用

Section6:Java 集合

Lambda ExpressionsAggregate Operations 部分涵盖以下某些项目:

Item1:开发使用钻石操作符和泛型声明的代码

Item2:开发使用 lambda 表达式迭代集合,过滤集合,排序集合的代码

Item3:使用方法搜索数据,例如 findFirstfindAnyanyMatchallMatchnoneMatch

Item4:使用 countmaxminaveragesum 方法在 Java 流上计算并使用 collect 方法和 Collector 类将结果保存到集合中,包括 averagingDoublegroupingByjoiningpartitioningBy 方法

Item5:开发使用 Java SE 8 集合改进的代码,包括 Collection.removeIfList.replaceAllMap.computeIfAbsentMap.computeIfPresent 方法

Item6:开发在 Java 流上使用 mergeflatMapmap 方法的代码

Section7:Java 流

Lambda ExpressionsAggregate Operations 部分涵盖以下某些项目:

Item1:描述 Stream 接口和管道;使用 Arrays.streamIntStream.range 方法创建流;识别懒惰的 lambda 操作

Item2:开发使用并行流的代码,包括流中的分解操作和缩减操作

Java SE 7 升级到 Java SE 8 OCP 程序员

本次考试涉及的主题是:

  1. Lambda 表达式
  2. 使用内置 Lambda 类型
  3. 使用 Lambdas 的 Java 集合和流
  4. Lambda 的集合操作
  5. 并行流
  6. Lambda Cookbook
  7. 方法增强
  8. 使用 Java SE 8 日期/时间 API

Section1:Lambda 表达式

Item1:描述和开发使用 Java 内部类的代码,包括嵌套类,静态类,局部类和匿名类

Item2:描述和编写功能接口

Lambda 表达式

Item3:描述一个 lambda 表达式;重构使用匿名内部类来的代码为使用 lambda 表达式;描述类型推断和目标类型

Lambda 表达式

Section2:使用内置 Lambda 类型

Lambda ExpressionsAggregate Operations 部分涵盖以下某些项目:

Item1:描述 java.util.function 包的接口

Item2:开发使用 Function 接口的代码

Item3:开发使用 Consumer 接口的代码

Item4:开发使用 Supplier 接口的代码

Item5:开发使用 UnaryOperator 接口的代码

Item6:开发使用 Predicate 接口的代码

Item7:开发使用 java.util.function 包的基本接口的基本和二元变体的代码

Item8:开发使用方法引用的代码,包括将 lambda 表达式重构为方法引用

Section3:使用 Lambdas 的 Java 集合和流

Lambda ExpressionsAggregate Operations 部分涵盖以下某些项目:

Item1:使用 forEach()方法和方法链开发迭代集合的代码

Item2:描述 Stream 接口和管道

Item3:使用 lambda 表达式过滤集合

Item4:识别流中的惰性操作

Section4:Lambda 的集合操作

Lambda ExpressionsAggregate Operations 部分涵盖以下某些项目:

Item1:开发代码以使用 map()方法从对象中提取数据

Item2:使用 findFirst(),findAny(),anyMatch(),allMatch()和 noneMatch()等方法搜索数据

Item3:描述 Optional 类的独特特征

Item4:使用 Java Stream 方法执行计算,例如 count(),max(),min(),average()和 sum()

Item5:使用 lambda 表达式对集合进行排序

Item6:开发使用 Stream.collect()方法和 Collectors 类方法的代码,例如 averagingDouble(),groupingBy(),joined()和 partitioningBy()

Section5:并行流

Item1:开发使用并行流的代码

并行

Item2:实现流的分解和缩减

缩减

Section6:Lambda Cookbook

Item1:开发使用 Java SE 8 集合改进的代码,包括 Collection.removeIf,List.replaceAll,Map.computeIfAbsent 和 Map.computeIfPresent 方法

Item2:开发使用 Java SE 8 I/O 改进的代码,包括 Files.find,Files.walk 和 Files.lines 方法

Item3:在 Stream API 中使用 flatMap()方法

Item4:使用 Arrays.stream()和 IntStream.range()方法开发创建流的代码

Section7:方法增强

Item1:向接口添加静态方法

静态方法

Item2:定义并使用接口的默认方法,并描述默认方法的继承规则

默认方法覆盖和隐藏方法

Section8:使用 Java SE 8 日期/时间 API

Item1:通过使用 LocalDate,LocalTime,LocalDateTime,Instant,Period 和 Duration,创建和管理基于日期和时间的事件,包括单个对象中日期和时间的组合

Item2:处理跨时区的日期和时间,并管理夏令时产生的更改,包括格式化日期和时间值

Item3:使用 Instant,Period,Duration 和 TemporalUnit 定义,创建和管理基于日期和时间的事件


Previous page: Java SE 8 Programmer II Exam
Next page: End of Trail