Java SE 8 Programmer II
More study resources
Cheat sheet
Keep the key ideas within reach.
ExploreKey terms
Get comfortable with the vocabulary.
ExploreStudy plan
Give each week a clear focus.
ExploreCommon mistakes
Understand the traps and how to avoid them.
ExploreCase studies
Put your knowledge to work in context.
ExploreExam-day guide
Prepare for the day ahead.
ExploreAbout this exam
The Java SE 8 Programmer II credential (exam code 1Z0-809, often called OCP Java SE 8) is Oracle's professional-level certification for developers who already write Java and want to prove they can build real applications with the Java SE 8 platform. It is aimed at working programmers, bootcamp graduates, and backend engineers who are comfortable with core syntax and want to demonstrate fluency in the features that define modern Java: lambdas, streams, the Date/Time API, NIO.2, concurrency utilities, and JDBC. The exam is broader and deeper than the associate-level test, with heavy emphasis on Generics and Collections and Concurrency, plus class design, functional interfaces, exceptions and assertions, file I/O, database access, and localization. Preparation is best done by writing code, not reading alone: build small programs that exercise streams, custom collectors, parallel execution, path manipulation, and transaction handling, and run them to observe actual behavior. Expect questions that present short code snippets and ask for output, compilation errors, or the correct fix, so tracing code by hand is a skill worth practicing. This page is an independent study resource and is not affiliated with or endorsed by Oracle; always confirm current exam details with the official certification body.
What you'll study
About Java SE 8 Programmer II preparation
What is the exam format?
It is a computer-delivered, multiple-choice exam. Most items have one correct answer, but some ask you to choose two or three options, so read the stem carefully for how many selections are required. Questions are based on short code snippets rather than long projects. The official body publishes the current item count and format on its certification site.
How long is the exam and what does it cost?
Oracle sets the appointment length and fee, and both change over time and by region. Rather than relying on secondhand figures, check the official Oracle certification page for the exam before you book. Your local test-center provider will also show the fee and available slots during scheduling.
How hard is it compared with the associate exam?
Noticeably harder. The associate level tests syntax and core APIs; this exam tests behavior under realistic conditions: how streams short-circuit, when a comparator breaks, why a concurrent collection throws, and how try-with-resources interacts with custom exceptions. Candidates who only memorize API signatures usually fall short on the code-tracing questions.
Can I retake it if I fail?
Yes, retakes are generally allowed, but Oracle controls the waiting period and the number of attempts, and these rules can change. Check the official certification policy before paying for a second attempt. Use the score report from the first attempt to identify weak domains rather than rebooking immediately.
In what order should I study the domains?
Start with class design and generics, because collections and streams build on them. Then study lambdas and the built-in functional interfaces before the Stream API, since streams are unusable without them. Move to exceptions, then I/O and NIO.2, then Date/Time, JDBC, localization, and concurrency last, since concurrency questions often combine several earlier topics.
What are the most common failure modes?
Candidates lose points on terminal versus intermediate stream operations, on whether a lambda captures effectively final variables, on checked-exception rules in overridden methods, and on path normalization and relativization. Another frequent trap is assuming a collection is thread-safe when it is not. Practicing with the compiler and debugger exposes these gaps faster than reading.
Do I need to memorize the Java API?
You need working knowledge of the APIs named in the exam objectives, not exhaustive memorization. Know which methods exist on key types, what they return, and their common exceptions. For less central classes, understanding the pattern is usually enough. Building small programs forces you to recall signatures naturally.
How much coding practice is enough?
There is no fixed number, but passive reading is the main reason people fail. Write and run code for every objective, deliberately break it, and predict the compiler or runtime response before running. If you can explain why a snippet fails without executing it, you are ready to attempt timed practice sets.
Does this certification expire?
Oracle's certification program has changed its recertification rules over time, and Java SE 8 credentials have specific policies. Check the official Oracle certification site for whether your credential requires renewal and what the current process is. Do not assume lifetime validity based on older blog posts.
Is this page affiliated with Oracle?
No. This is an independent study resource written for candidates preparing on their own. It is not affiliated with, endorsed by, or sponsored by Oracle, and it does not reproduce official exam content. Always treat the official exam objectives and policies as the authoritative source.