Java SE 8 程序员 II 考试
该页面将 Java 教程中的各个部分 Map 到 Java SE 8 Programmer II 考试中涵盖的主题。该考试与 Oracle 认证 mavenJava SE 8 程序员证书相关联。该考试涵盖的主题是:
第 1 节:Java 类设计
项目 1: 实现封装。
项目 2: 实现继承,包括可见性修饰符和组成。
项目 3: 实现多态。
项目 4: 覆盖Object
类中的hasCode
,equals
和toString
方法。
项目 5: 创建和使用单例类和不可变类。
项目 6: 开发在初始化块,变量,方法和类上使用static
关键字的代码。
第 2 节:高级类设计
项目 1: 开发使用抽象类和方法的代码。
项目 2: 开发使用final
的代码。
项目 3: 创建内部类,包括静态内部类,局部类,嵌套类和匿名 intter 类。
项目 4: 使用enum
类型的枚举类型,包括方法和构造函数
项目 5: 开发用于声明,实现和/或扩展interface并使用@Override
注解的代码。
项目 6: 创建和使用 Lambda 表达式。
第 3 节:泛型和集合
Generics (Updated)类,Collections路径,尤其是指定的页面。
项目 1 :创建并使用泛型类。
项目 2 :创建并使用ArrayList
,TreeSet
,TreeMap
和ArrayDeque
对象。
项目 3 :使用java\.util\.Comparator
和java\.lang\.Comparable
interface。
项目 4 :集合,流和过滤器。
项目 5 :使用Streams
和List
的forEach
方法进行迭代。
项目 6 :描述Stream
interface和Stream
管道。
项目 7 :使用 Lambda 表达式过滤集合。
项目 8 :对流使用方法引用。
第 4 节:Lambda 内置功能interface
Lambda Expressions和Aggregate Operations部分涉及以下一些项目:
项目 1 :使用java\.util\.function
软件包中包含的内置interface,例如Predicate
,Consumer
,Function
和Supplier
。
项目 2 :开发使用功能interface原始版本的代码。
项目 3 :开发使用功能interface的二进制版本的代码。
项目 4 :开发使用UnaryOperator
interface的代码。
第 5 节:Java Stream API
Lambda Expressions和Aggregate 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
-catch
和throws
语句。
项目 2: 使用catch
,multi\-catch
和finally
子句。
项目 3: 通过try
-with-resources 语句使用自动关闭资源。
项目 4: 创建自定义 exception 和自动关闭资源。
项目 5: 通过使用 assert 测试不变量。
第 7 节:使用 Java SE 8 日期/时间 API
项目 1: 使用LocalDate
,LocalTime
,LocalDateTime
,Instant
,Period
和Duration
创建和 管理 基于日期和基于时间的事件,包括将日期和时间组合到单个对象中。
项目 2: 处理跨timezone的日期和时间,并 管理 夏令时产生的更改,包括格式化日期和时间值。
项目 3: 使用Instant
,Period
,Duration
和TemporalUnit
定义并创建和 管理 基于日期和基于时间的事件。
第 8 节:Java I/O 基础知识
项目 1 :从控制台读取和写入数据。
I/O Streams类,尤其是以下页面:
项目 2 :在java\.io package
中使用BufferedReader
,BufferedWriter
,File
,FileReader
,FileWriter
,FileInputStream
,FileOutputStream
,ObjectOutputStream
,ObjectInputStream
和PrintWriter
。
文件 I/O(以 NIO.2 为特色)类,尤其是以下页面:
第 9 节:Java 文件 I/O(NIO.2)
项目 1 :使用Path
interface对文件和目录路径进行操作。
项目 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: 使用Runnable
,Callable
创建工作线程,并使用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,包括Driver
,Connection
,Statement
和ResultSet
interface以及它们与提供程序实现的关系。
项目 2: 标识使用 DriverManager 类(包括 JDBC URL)连接到数据库所需的组件。
项目 3: 提交查询并从数据库中读取结果,包括创建语句,返回结果集,遍历结果以及正确关闭结果集,语句和连接。
第 12 节:本地化
项目 1: 使用Locale
对象读取并设置区域设置。
项目 2: 创建并读取Properties
文件。
项目 3: 为每个语言环境构建资源束,并将资源束加载到应用程序中。