Java SE 8 程序员 II 考试
原文: https://docs.oracle.com/javase/tutorial/extra/certification/javase-8-programmer2.html
此页面将 Java 教程中的部分映射到 Java SE 8 Programmer II 考试中涵盖的主题。此考试与 Oracle Certified Professional,Java SE 8 Programmer 证书相关联。本次考试涉及的主题是:
- Java 类设计
- 高级类设计
- 泛型和收藏
- Lambda 内置函数式接口
- Java Stream API
- 异常和断言
- 使用 Java SE 8 日期/时间 API
- Java I / O 基础
- Java 文件 I / O(NIO.2)
- 并发
- 使用 JDBC 构建数据库应用程序
- 本地化
第 1 项:实现封装。
第 2 项:实现继承,包括可见性修饰符和组合。
第 3 项:实现多态性。
第 4 项:从Object
类覆盖hasCode
,等于
和toString
方法。
第 5 项:创建并使用单例类和不可变类。
第 6 项:开发在初始化块,变量,方法和类时使用静态
关键字的代码。
第 1 项:开发使用抽象类和方法的代码。
第 2 项:开发使用final
的代码。
第 3 项:创建内部类,包括静态内部类,本地类,嵌套类和匿名内部类。
第 4 项:使用枚举类型,包括enum
类型中的方法和构造器
第 5 项:开发声明,实现和/或扩展接口并使用@Override
注释的代码。
第 6 项:创建并使用 lambda 表达式。
Generics(更新)课程, Collections 路径,特别是指定页面。
第 1 项:创建并使用泛型类。
第 2 项:创建并使用ArrayList
, TreeSet
, TreeMap
和ArrayDeque
对象。
第 3 项:使用java.util.Comparator
和java.lang.Comparable
接口。
第 4 项:集合,流和过滤器。
项目 5 :使用对
Streams和
List的每种
方法进行迭代。
第 6 项:描述Stream
接口和Stream
管道。
第 7 项:使用 lambda 表达式过滤集合。
第 8 项:对流使用方法引用。
Lambda 表达式和聚合操作部分涵盖以下某些项目:
第 1 项:使用java.util.function
软件包中包含的内置接口,如Predicate
, Consumer
, ]功能
和供应商
。
第 2 项:开发使用原始版本的函数式接口的代码。
第 3 项:开发使用二进制版本的函数式接口的代码。
第 4 项:开发使用UnaryOperator
接口的代码。
Lambda 表达式和聚合操作部分涵盖以下某些项目:
第 1 项:开发代码,使用 peek()和 map()方法从对象中提取数据,包括 map()方法的原始版本。
第 2 项:使用 Stream 类的搜索方法搜索数据,包括 findFirst,findAny,anyMatch,allMatch,noneMatch。
第 3 项:开发使用 Optional 类的代码。
第 4 项:开发使用 Stream 数据方法和计算方法的代码。
第 5 项:使用 Stream API 对集合进行排序。
第 6 项:使用 Collectors 类使用 collect 方法和组/分区数据将结果保存到集合中。
第 7 项:在 Stream API 中使用 flatMap()方法。
第 1 项:使用尝试
- 捕捉
和抛出
语句。
第 2 项:使用捕获
,多次捕获
和最终
子句。
第 3 项:使用try-with-resources
语句使用 autoclose 资源。
第 4 项:创建自定义例外和自动关闭资源。
第 5 项:使用断言测试不变量。
第 1 项:使用LocalDate
, LocalTime
,创建和管理基于日期和基于时间的事件,包括将日期和时间组合成单个对象] LocalDateTime
, Instant
, Period
和Duration
。
第 2 项:处理跨时区的日期和时间,并管理夏令时产生的变化,包括格式日期和时间值。
第 3 项:使用Instant
, Period
, Duration
和定义并创建和管理基于日期和基于时间的事件] TemporalUnit
。
项目 1 :从控制台读取和写入数据。
I / O Streams 课程,特别是以下页面:
- Byte Streams
- 来自命令行的 I / O
第 2 项:使用BufferedReader
, BufferedWriter
, File
, FileReader
, FileWriter
, FileInputStream
, FileOutputStream
, ObjectOutputStream
, ObjectInputStream
和PrintWriter
在java.io 包中
。
文件 I / O(具有 NIO.2)课程,特别是以下页面:
第 1 项:使用Path
接口操作文件和目录路径。
第 2 项:使用文件
类检查,读取,删除,复制,移动和管理文件或目录的元数据。
第 3 项:使用流 API 与 NIO.2。
Java 教程不涉及设计模式主题。以下参考资料介绍了使用 Java 编程语言的设计模式:
- _ 头部优先设计模式*由 Elizabeth Freeman 等人。
- Tony Bevis 的 Java Design Pattern Essentials
第 1 项:编写声明,实现和/或扩展接口的代码。
第 2 项:在接口继承和类继承之间进行选择。
第 3 项:开发实现“is-a”和/或“has-a”关系的代码。
第 4 项:应用对象组成原则。
第 5 项:使用 Singleton 设计模式设计一个类。
项目 6:编写实现 DAO 模式的代码。
第 7 项:使用工厂设计和创建对象,并使用 API中的工厂。
第 1 项:搜索,解析和构建字符串。
第 2 项:使用正则表达式搜索,解析和替换字符串。
第 3 项:使用字符串格式。
项目 1:使用Runnable
, Callable
创建工作线程并使用ExecutorService
同时执行任务。
第 2 项:识别死锁,饥饿,活锁和竞争条件中潜在的线程问题。
第 3 项:使用 synchronized 关键字和 java.util.concurrent.atomic 包来控制线程执行的顺序。
第 4 项:使用 java.util.concurrent 集合和类,包括 CyclicBarrier 和 CopyOnWriteArrayList。
第 5 项:使用并行 Fork / Join Framework。
项目 6:使用并行流,包括缩减,分解,合并过程,流水线和性能。
第 1 项:描述构成 JDBC API 核心的接口,包括驱动程序
,连接
,语句
和] ResultSet
接口及其与供应器实现的关系。
第 2 项:使用 DriverManager 类(包括 JDBC URL)标识连接数据库所需的组件。
第 3 项:提交查询并从数据库中读取结果,包括创建语句,返回结果集,迭代结果以及正确关闭结果集,语句和连接。
第 1 项:使用Locale
对象读取并设置语言环境。
第 2 项:创建并读取属性
文件。
- 关于 ResourceBundle 类
- 使用属性文件备份 ResourceBundle
第 3 项:为每个语言环境构建资源包并在应用程序中加载资源包。