| OCP 21 830 Objective | OCP 21 830 Text | Java 17 Objective and Comments |
| Handling Date, Time, Text, Numeric and Boolean Values | ||
| 1.1 | Use primitives and wrapper classes. Evaluate arithmetic and boolean expressions, using the Math API and by applying precedence rules, type conversions, and casting. | 1.1, minor verbiage changes |
| 1.2 | Manipulate text, including text blocks, using String and StringBuilder classes. | 1.2 |
| 1.3 | Manipulate date, time, duration, period, instant and time-zone objects including daylight saving time using Date-Time API. | 1.2, didn't have daylight savings |
| Controlling Program Flow | ||
| 2.1 | Create program flow control constructs including if/else, switch statements and expressions, loops, and break and continue statements. | 2.1 |
| Using Object-Oriented Concepts in Java | ||
| 3.1 | Declare and instantiate Java objects including nested class objects, and explain the object life-cycle including creation, reassigning references, and garbage collection. | 3.1 |
| 3.2 | Create classes and records, and define and use instance and static fields and methods, constructors, and instance and static initializers. | 3.2 |
| 3.3 | Implement overloaded methods, including var-arg methods. | 3.3, minor verbiage changes |
| 3.4 | Understand variable scopes, apply encapsulation, and create immutable objects. Use local variable type inference. | 3.4 |
| 3.5 | Implement inheritance, including abstract and sealed types as well as record classes. Override methods, including that of the Object class. Implement polymorphism and differentiate between object type and reference type. Perform reference type casting, identify object types using the instanceof operator, and pattern matching with the instanceof operator and the switch construct. | 3.5 - didn't have record along with switch pattern matching |
| 3.6 | Create and use interfaces, identify functional interfaces, and utilize private, static, and default interface methods. | 3.6 |
| 3.7 | Create and use enum types with fields, methods, and constructors. | 3.7 |
| Handling Exceptions | ||
| 4.1 | Handle exceptions using try/catch/finally, try-with-resources, and multi-catch blocks, including custom exceptions. | 4.1 |
| Working with Arrays and Collections | ||
| 5.1 | Create arrays, List, Set, Map and Deque collections, and add, remove, update, retrieve and sort their elements. | 5.1, minor verbiage changes |
| Working with Streams and Lambda expressions | ||
| 6.1 | Use Java object and primitive Streams, including lambda expressions implementing functional interfaces, to create, filter, transform, process, and sort data. | 6.1, minor verbiage changes |
| 6.2 | Perform decomposition, concatenation, and reduction, and grouping and partitioning on sequential and parallel streams. | 6.2 |
| Packaging and Deploying Java Code | ||
| 7.1 | Define modules and expose module content, including that by reflection, and declare module dependencies, define services, providers, and consumers. | 7.1, minor verbiage changes |
| 7.2 | Compile Java code, create modular and non-modular jars, runtime images, and implement migration to modules using unnamed and automatic modules. | 7.2, minor verbiage changes |
| Managing Concurrent Code Execution | ||
| 8.1 | Create both platform and virtual threads. Use both Runnable and Callable objects, manage the thread lifecycle, and use different Executor services and concurrent API to run tasks. | 8.1, didn't have platform vs virtual threads |
| 8.2 | Develop thread-safe code, using locking mechanisms and concurrent API. | 8.2, minor verbiage changes |
| 8.3 | Process Java collections concurrently and utilize parallel streams. | 8.3, minor verbiage changes |
| Using Java I/O API | ||
| 9.1 | Read and write console and file data using I/O streams. | 9.1, minor verbiage changes |
| 9.2 | Serialize and de-serialize Java objects. | 9.2 |
| 9.3 | Construct, traverse, create, read, and write Path objects and their properties using the java.nio.file API. | 9.3, minor verbiage changes |
| Implementing Localization | ||
| 10.1 | Implement localization using locales and resource bundles. Parse and format messages, dates, times, and numbers, including currency and percentage values. | 11.1, minor verbiage changes |
| OCP 17 829 Objective | OCP 17 829 Text | Java 21 Objective and Comments | |
| Handling date, time, text, numeric and boolean values | |||
| 1.1 | Use primitives and wrapper classes including Math API, parentheses, type promotion, and casting to evaluate arithmetic and boolean expressions | 1.1, minor verbiage changes | |
| 1.2 | Manipulate text, including text blocks, using String and StringBuilder classes | 1.2 | |
| 1.3 | Manipulate date, time, duration, period, instant and time-zone objects using Date-Time API | 1.3, added daylight savings | |
| Controlling Program Flow | |||
| 2.1 | Create program flow control constructs including if/else, switch statements and expressions, loops, and break and continue statements | 2.1 | |
| Utilizing Java Object-Oriented Approach | |||
| 3.1 | Declare and instantiate Java objects including nested class objects, and explain the object life-cycle including creation, reassigning references, and garbage collection | 3.1 | |
| 3.2 | Create classes and records, and define and use instance and static fields and methods, constructors, and instance and static initializers | 3.2 | |
| 3.3 | Implement overloading, including var-arg methods | 3.3, minor verbiage changes | |
| 3.4 | Understand variable scopes, use local variable type inference, apply encapsulation, and make objects immutable | 3.4 | |
| 3.5 | Implement inheritance, including abstract and sealed classes. Override methods, including that of Object class. Implement polymorphism and differentiate object type versus reference type. Perform type casting, identify object types using instanceof operator and pattern matching | 3.5, added record along with switch pattern matching | |
| 3.6 | Create and use interfaces, identify functional interfaces, and utilize private, static, and default interface methods | 3.6 | |
| 3.7 | Create and use enumerations with fields, methods and constructors | 3.7 | |
| Handling Exceptions | |||
| 4.1 | Handle exceptions using try/catch/finally, try-with-resources, and multi-catch blocks, including custom exceptions | 4.1 | |
| Working with Arrays and Collections | |||
| 5.1 | Create Java arrays, List, Set, Map, and Deque collections, and add, remove, update, retrieve and sort their elements | 5.1, minor verbiage changes | |
| Working with Streams and Lambda expressions | |||
| 6.1 | Use Java object and primitive Streams, including lambda expressions implementing functional interfaces, to supply, filter, map, consume, and sort data | 6.1, minor verbiage changes | |
| 6.2 | Perform decomposition, concatenation and reduction, and grouping and partitioning on sequential and parallel streams | 6.2 | |
| Packaging and deploying Java code and use the Java Platform Module System | |||
| 7.1 | Define modules and their dependencies, expose module content including for reflection. Define services, producers, and consumers | 7.1, minor verbiage changes | |
| 7.2 | Compile Java code, produce modular and non-modular jars, runtime images, and implement migration using unnamed and automatic modules | 7.2, minor verbiage changes | |
| Managing concurrent code execution | |||
| 8.1 | Create worker threads using Runnable and Callable, manage the thread lifecycle, including automations provided by different Executor services and concurrent API | 8.1, added platform vs virtual threads | |
| 8.2 | Develop thread-safe code, using different locking mechanisms and concurrent API | 8.2, minor verbiage changes | |
| 8.3 | Process Java collections concurrently including the use of parallel streams | 8.3, minor verbiage changes | |
| Using Java I/O API | |||
| 9.1 | Read and write console and file data using I/O Streams | 9.1, minor verbiage changes | |
| 9.2 | Serialize and de-serialize Java objects | 9.2 | |
| 9.3 | Create, traverse, read, and write Path objects and their properties using java.nio.file API | 9.3, minor verbiage changes | |
| Accessing databases using JDBC | |||
| 10.1 | Create connections, create and execute basic, prepared and callable statements, process query results and control transactions using JDBC API | n/a - Removed | |
| Implementing Localization | |||
| 11.1 | Implement localization using locales, resource bundles, parse and format messages, dates, times, and numbers including currency and percentage values | 10.1, minor verbiage changes | |
[OCP 21 book] | [OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Enthuware - Best Mock Exams and Questions for Oracle Java Certifications
Quality Guaranteed - Pass or Full Refund!
Paul Anilprem wrote:Thanks for the mapping!
Any idea why they numbered it 1Z0-830 instead of 1Z0-839?
I don't know if that was the reason, but it's what I think of![OCP 21 book] | [OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Enthuware - Best Mock Exams and Questions for Oracle Java Certifications
Quality Guaranteed - Pass or Full Refund!
Paul Anilprem wrote:I wonder what is Oracle's thought process in picking exam topics. Most non-trivial applications use JDBC either directly or indirectly yet it is removed from the objectives while most applications do not use modules but Oracle wants the candidates to have deep knowledge of modules! Same goes for Serialization.
[OCP 21 Professional Study Guide] [OCP 17 Complete Study Guide] [OCP 17 Practice Tests] [OCP 11 Complete Study Guide] [OCP 11 Programmer I] [OCP 11 Programmer II] [OCP 11 Practice Tests] [OCA 8] [OCP 8] [OCP 8 Practice Tests Book] [Blog]
| Did you see how Paul cut 87% off of his electric heat bill with 82 watts of micro heaters? |