All 10 domains
24 official objectives
71–95 hrs suggested study
-
Domain 01
This section tests the core value types of Java 21: primitives and their wrappers, arithmetic and boolean expressions, String and StringBuilder methods including text blocks, and the java.time classes for dates, durations, periods, instants and time zones.
Inside this domain
- Use primitives and wrapper classes. Evaluate arithmetic and boolean expressions, using the Math API and by applying precedence rules, type conversions, and casting.
- Manipulate text, including text blocks, using String and StringBuilder classes.
- Manipulate date, time, duration, period, instant and time-zone objects including daylight saving time using Date-Time API.
Watch for Boxed equality
- Objectives
- 3
Read the domain guide →
-
Domain 02
This section covers the constructs that decide which Java code runs and how often: if/else chains, switch statements and switch expressions, for, enhanced for, while and do/while loops, and break and continue with or without labels.
Inside this domain
- Create program flow control constructs including if/else, switch statements and expressions, loops, and break and continue statements.
Watch for Arrow fall-through
- Objectives
- 1
Read the domain guide →
-
Domain 03
The largest section of 1Z0-830 covers object creation and lifecycle, classes and records, initializers, overloading, scope and immutability, inheritance with abstract and sealed types, polymorphism and pattern matching, interfaces, and enums with fields and constructors.
Inside this domain
- Declare and instantiate Java objects including nested class objects, and explain the object life-cycle including creation, reassigning references, and garbage collection.
- Create classes and records, and define and use instance and static fields and methods, constructors, and instance and static initializers.
- Implement overloaded methods, including var-arg methods.
- Understand variable scopes, apply encapsulation, and create immutable objects. Use local variable type inference.
- and 3 more objectives
Watch for Polymorphic fields
- Objectives
- 7
Read the domain guide →
-
Domain 04
This section tests how Java code reports and recovers from errors: checked and unchecked exceptions, try/catch/finally flow, try-with-resources and suppressed exceptions, multi-catch rules, and writing your own exception classes.
Inside this domain
- Handle exceptions using try/catch/finally, try-with-resources, and multi-catch blocks, including custom exceptions.
Watch for Close after catch
- Objectives
- 1
Read the domain guide →
-
Domain 05
This section covers storing and organizing data in Java 21: creating and copying arrays, using List, Set, Map and Deque implementations, adding, removing, updating and retrieving elements, and sorting with Comparable and Comparator.
Inside this domain
- Create arrays, List, Set, Map and Deque collections, and add, remove, update, retrieve and sort their elements.
Watch for Remove by value
- Objectives
- 1
Read the domain guide →
-
Domain 06
This section covers functional-style Java: lambda expressions and method references, the built-in functional interfaces, object and primitive streams, intermediate and terminal operations, Optional, reduction, and grouping and partitioning with Collectors on sequential and parallel streams.
Inside this domain
- Use Java object and primitive Streams, including lambda expressions implementing functional interfaces, to create, filter, transform, process, and sort data.
- Perform decomposition, concatenation, and reduction, and grouping and partitioning on sequential and parallel streams.
Watch for Missing terminal operation
- Objectives
- 2
Read the domain guide →
-
Domain 07
This section covers the Java Platform Module System and deployment: writing module-info.java, exporting and opening packages, declaring dependencies and services, compiling and running modular code, building jars and runtime images, and migrating with unnamed and automatic modules.
Inside this domain
- Define modules and expose module content, including that by reflection, and declare module dependencies, define services, providers, and consumers.
- Compile Java code, create modular and non-modular jars, runtime images, and implement migration to modules using unnamed and automatic modules.
Watch for Export the implementation
- Objectives
- 2
Read the domain guide →
-
Domain 08
This section covers running Java code concurrently: creating platform and virtual threads, Runnable and Callable tasks, thread lifecycle, executor services, locks and atomic variables for thread safety, concurrent collections, and parallel streams.
Inside this domain
- 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.
- Develop thread-safe code, using locking mechanisms and concurrent API.
- Process Java collections concurrently and utilize parallel streams.
Watch for Fixed total
- Objectives
- 3
Read the domain guide →
-
Domain 09
This section covers reading and writing data in Java 21: byte and character I/O streams, console input and output, serializing and deserializing objects, and building, navigating, creating, reading and writing files with Path and Files from java.nio.file.
Inside this domain
- Read and write console and file data using I/O Streams.
- Serialize and de-serialize Java objects.
- Construct, traverse, create, read, and write Path objects and their properties using the java.nio.file API.
Watch for Constructor runs on read
- Objectives
- 3
Read the domain guide →
-
Domain 10
This section covers adapting Java programs to different languages and regions: creating Locale objects, loading resource bundles and their fallback order, and parsing and formatting messages, dates, times, numbers, currency and percentages for a locale.
Inside this domain
- Implement localization using locales and resource bundles. Parse and format messages, dates, times, and numbers, including currency and percentage values.
Watch for Default locale first
- Objectives
- 1
Read the domain guide →
Domain names, weights and objectives come from Oracle's official outline (1Z0-830 exam topics (Oracle, published July 2024; current, read via secondary reproduction)). Question counts and study hours are editorial planning estimates, not official figures. Last reviewed October 2026.