Oracle · 2026 Edition
A complete preparation guide written by Oracle-certified engineers. Covers the exam format,all 8 blueprint domains, a week-by-week study plan, and proven tips for passing first time.
3–5 months
Prep time
Advanced
Difficulty
50
Exam questions
680/1000
Pass mark
Exam code
1Z0-829
Full name
Oracle Certified Professional Java SE 17 Developer
Vendor
Oracle
Duration
90 minutes
Questions
50 items
Passing score
680/1000 (scaled)
Domains covered
8 blueprint domains
Recommended experience
2+ years of Java development experience; strong OOP fundamentals required
Typical prep time
3–5 months
Oracle Certified Professional Java SE 17 Developer is the benchmark Java credential globally. Java remains one of the most widely used programming languages and OCP Java 17 demonstrates mastery of modern Java — required or preferred at enterprises with large Java codebases.
Job roles this opens
Domain percentage weights are not currently available for this exam. The checklist below is still useful for planning your study.
Weeks 1–3
Handling Date, Time, Text, Numeric and Boolean Values: var, String methods, date/time API
Tip: The java.time API is heavily tested on OCP Java 17. Know: LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Instant, Duration, Period. Know the key methods: of(), now(), plus/minus operations, isBefore()/isAfter(), format() with DateTimeFormatter. Know that java.time objects are immutable — all operations return new objects.
Weeks 4–6
Implementing OOP: classes, interfaces, inheritance, polymorphism, sealed classes, records
Tip: Sealed classes and records are Java 17 features tested on the exam. Sealed classes restrict which classes can extend them (sealed class Shape permits Circle, Rectangle). Records are immutable data carriers with auto-generated constructor, accessors, equals, hashCode, and toString. Know the syntax and constraints for each.
Weeks 7–9
Functional Interface and Lambda Expressions: Predicate, Consumer, Function, Supplier, streams
Tip: The Stream API is one of the most tested topics on OCP Java 17. Know the stream pipeline: source → zero or more intermediate operations → terminal operation. Know the key operations: filter(), map(), flatMap(), distinct(), sorted(), limit(), skip() (intermediate); collect(), forEach(), count(), findFirst(), anyMatch(), allMatch(), noneMatch(), reduce() (terminal).
Weeks 10–14
Exception Handling, I/O, Concurrency, Modules, JDBC
Tip: Java modules (introduced in Java 9, tested on Java 17 OCP) define module dependencies and exported packages. Know the module-info.java syntax: requires (depend on another module), exports (make a package available), opens (allow reflective access), uses/provides (service loader pattern). Know the difference between requires and requires transitive.
OCP Java 17 (1Z0-829) is a single exam — there is no longer a prerequisite OCA exam as of the Java 11 certification restructuring. The exam is 50 questions in 90 minutes with a 68% passing score. The question format includes code snippets you must analyse for correctness, output, or compilation errors.
Code that does not compile is a valid exam answer option. Know the difference between a compilation error (incorrect syntax, type mismatch, accessing private member) and a runtime exception (NullPointerException, ClassCastException, ArrayIndexOutOfBoundsException). Read exam code carefully — subtle issues like missing semicolons or incorrect generic types often hide in the options.
var (local variable type inference) can only be used for local variables (not fields, parameters, or return types), must be initialised at declaration, and cannot be initialised to null without a cast. Know the contexts where var is and is not allowed — the exam regularly presents var in invalid contexts as a distractor.
The Collections framework hierarchy is tested: Iterable → Collection → List/Set/Queue; Map is separate. Know the concrete implementations: ArrayList (resizable array, fast random access), LinkedList (doubly-linked, fast insert/delete), HashSet (no order, no duplicates), LinkedHashSet (insertion order, no duplicates), TreeSet (sorted, no duplicates), HashMap, LinkedHashMap, TreeMap.
Concurrent programming on OCP Java 17: know Runnable vs Callable (Callable returns a value and can throw checked exceptions), ExecutorService lifecycle (submit, shutdown, awaitTermination), synchronized methods/blocks, volatile keyword, and atomic classes (AtomicInteger, AtomicBoolean). Also know the difference between a thread-safe class and a class used safely by one thread at a time.
Apply everything in this guide with adaptive practice questions, detailed answer explanations, and domain analytics.
Deep-dive explanations of the key topics tested on 1Z0-829 — with exam key points and common misconceptions.