Oracle Certified Professional: Java SE 21 Developer
Exam number 1Z0-830. The full exam syllabus we prepare students against, once they've finished the core Java course.
⏱ Duration: 30–40 days
Module 01
Handling date, time, text, numeric and boolean values
- Use primitives and wrapper classes
- Evaluate arithmetic and boolean expressions using the Math API, precedence rules, type conversions and casting
- Manipulate text using String and StringBuilder, including text blocks
- Work with date, time, duration, period, instant and time-zone objects, including daylight saving time
Module 02
Controlling program flow
- Use control constructs: if/else, switch statements and expressions, loops, break and continue
Module 03
Using object-oriented concepts
- Declare and instantiate objects, including nested classes; understand object life-cycle and garbage collection
- Create classes and records; define instance/static fields and methods, constructors, initializers
- Implement method overloading, including var-args
- Understand variable scope, apply encapsulation, create immutable objects, use local variable type inference
- Implement inheritance, including abstract/sealed/record types; override methods including from Object
- Implement polymorphism; use casting, instanceof and pattern matching
- Create and use interfaces, identify functional interfaces, use private/static/default interface methods
- Create and use enums with fields, methods and constructors
Module 04
Handling exceptions
- Handle exceptions using try/catch/finally, try-with-resources and multi-catch blocks, including custom exceptions
Module 05
Working with arrays and collections
- Create arrays and collections: List, Set, Map, Deque
- Add, remove, update, retrieve and sort collection elements
Module 06
Working with streams and lambda expressions
- Use object and primitive streams and lambda expressions with functional interfaces to filter, transform, process and sort data
- Perform decomposition, concatenation, reduction, grouping and partitioning on sequential and parallel streams
Module 07
Packaging and deploying Java code
- Define modules and expose content, declare module dependencies
- Define services, providers and consumers
- Compile Java code, create modular/non-modular JARs and runtime images
Module 08
Managing concurrent code execution
- Create platform and virtual threads using Runnable and Callable
- Manage thread lifecycle with executor services and the concurrent API
- Write thread-safe code using locking and concurrent collections
- Process collections concurrently and use parallel streams
Module 09
Using the Java I/O API
- Read and write console and file data using I/O streams
- Serialize and deserialize Java objects
- Use java.nio.file to work with Path objects and file properties
Module 10
Implementing localization
- Implement localization using locales and resource bundles
- Parse and format messages, dates, times, numbers, currencies and percentages
A few assumptions the exam makes
Assume necessary package/import statements exist unless stated otherwise. Assume all classes are either in one file or in the same directory. Ignore unintended line breaks — treat them as part of the same line if it helps the code compile. Assume that any descriptive comment implies correctly working code.
Also expected: basics of the Java Logging API; annotations including @Override, @FunctionalInterface, @Deprecated, @SuppressWarnings and @SafeVarargs; and generics, including wildcards.