Java SE 8 升级考试

此页面将 Java 教程中的部分 Map 到升级到 Java SE 8 OCP(Oracle 认证 maven)(Java SE 6 和所有以前的版本)以及将 Java SE 7 升级到 Java SE 8 OCP 考试中涉及的主题。这些考试与 Oracle 认证 mavenJava SE 8 程序员证书相关联。

升级到 Java SE 8 OCP(Java SE 6 和所有以前的版本)

该考试涵盖的主题是:

第 1 节:语言增强

项目 1: 开发使用switch语句中的String对象,二进制 Literals 和数字 Literals(包括 Literals 中的下划线)的代码

项目 2: 开发使用try -with-resources 语句的代码,包括使用实现AutoCloseableinterface的类

项目 3: 开发可在单个catch块中处理多种Exception类型的代码

项目 4: 使用interface的静态和默认方法(包括继承规则)作为默认方法

第 2 节:并发

项目 1: 使用java\.util\.concurrent包中的类,包括CyclicBarrierCopyOnWriteArrayList,着重于与传统java\.util集合相比的优势和差异

项目 2: 使用java\.util\.concurrent\.locksjava\.util\.concurrent\.atomic包中的LockReadWriteLockReentrantLock类来支持对单个变量进行无锁线程安全编程

项目 3: 使用ExecutorExecutorServiceExecutorsCallableFuture使用线程池执行任务

项目 4: 使用并行的 Fork/Join 框架

第 3 节:本地化

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

项目 2: 为语言环境构建资源束并从应用程序调用资源束

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

项目 4: 格式化日期,数字和货币值以使用NumberFormatDateFormat类进行本地化,包括数字和日期格式 Pattern

项目 5: 处理跨timezone的日期和时间,并 管理 夏令时产生的更改

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

项目 1: 使用java\.nio\.Path类在文件和目录路径上进行操作

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

项目 3: 使用DirectoryStreamFileVisitorinterface递归访问目录树

项目 4: 使用 PathMatcher interface查找文件,并使用 Java SE 8 I/O 改进,包括Files\.findFiles\.walkFiles\.lines methods

项目 5: 使用WatchServiceinterface观察目录中的更改

第 5 节:Lambda

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

项目 1: 定义和编写功能interface并描述java\.util\.function包的interface

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

项目 3: 开发使用java\.util\.function程序包中包含的内置interface的代码,例如FunctionConsumerSupplierUnaryOperatorPredicateOptional API,包括interface的原始和二进制变体

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

第 6 节:Java 集合

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

项目 1: 开发使用菱形和泛型声明的代码

项目 2: 开发使用 lambda 表达式迭代集合,过滤集合并对集合进行排序的代码

项目 3: 使用诸如findFirstfindAnyanyMatchallMatchnoneMatch之类的方法搜索数据

项目 4: 使用countmaxminaveragesum方法对 Java 流执行计算,并使用collect方法和Collector类(包括averagingDoublegroupingByjoiningpartitioningBy)将结果保存到集合中方法

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

项目 6: 开发在 Java 流上使用mergeflatMapmap方法的代码

第 7 节:Java 流

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

项目 1: 描述Streaminterface和管道;使用Arrays\.streamIntStream\.range方法创建流;识别惰性的 lambda 操作

项目 2: 开发使用并行流的代码,包括流中的分解操作和归约操作

将 Java SE 7 升级到 Java SE 8 OCP 编程器

该考试涵盖的主题是:

第 1 节:Lambda 表达式

项目 1: 描述和开发使用 Java 内部类的代码,包括嵌套类,静态类,本地类和匿名类

项目 2: 描述和编写功能interface

Lambda Expressions

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

Lambda Expressions

第 2 节:使用内置 Lambda 类型

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

项目 1: 描述 java.util.function 包的interface

项目 2: 开发使用 Function interface的代码

项目 3: 开发使用使用者interface的代码

项目 4: 开发使用 Supplier interface的代码

项目 5: 开发使用 UnaryOperator interface的代码

项目 6: 开发使用 Predicate interface的代码

项目 7: 开发使用 java.util.function 包的基本interface的原始变体和二进制变体的代码

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

第 3 节:带有 Lambda 的 Java 集合和流

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

项目 1: 使用 forEach()方法和方法链开发可迭代集合的代码

项目 2: 描述 Stream interface和管道

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

项目 4: 识别正在运行的懒惰操作

第 4 节:使用 Lambda 进行收集操作

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

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

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

项目 3: 描述 Optional 类的独特 Feature

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

项目 5: 使用 Lambda 表达式对集合进行排序

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

第 5 节:并行流

项目 1: 开发使用并行流的代码

Parallelism

项目 2: 分解和减少流

Reduction

第 6 节:Lambda 食谱

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

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

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

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

第 7 节:方法增强

项目 1: 向interface添加静态方法

Static Methods

项目 2: 定义和使用interface的默认方法,并描述默认方法的继承规则

Default Methods 覆盖和隐藏方法

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

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

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

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