Java SE 8 Programmer II study guide
Java SE 8 Programmer II · Work through your exam, one topic at a time.
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 Java SE 8 Programmer II study guide has 12 sections and about 3,722 words.
01Java Class Design
Java Class Design tests your ability to build legal inheritance hierarchies, apply encapsulation, and predict polymorphic behavior. Questions often ask which override compiles, what a constructor call dispatches to, or how access modifiers constrain an override.
364 words, about 2 min02Advanced Java Class Design
Advanced Java Class Design covers nested and inner classes, enums, interface evolution with default and static methods, and design choices such as composition, immutability, and singletons. A static nested class is instantiated as Outer.Nested n = new Outer.Nested(); ; it has no implicit outer instance.
321 words, about 2 min03Generics and Collections
Generics and Collections tests compile-time type safety, wildcard use, and choosing the right collection with correct equality and ordering contracts. Generic types are invariant: List<Integer is not a List<Number .
311 words, about 2 min04Lambda Built-in Functional Interfaces
Lambda Built-in Functional Interfaces covers the java.util.function package, target typing, method references, and composing lambdas. Supplier<T : T get() .
287 words, about 1 min05Java Stream API
Java Stream API tests building lazy pipelines, choosing intermediate versus terminal operations, and collecting results correctly. A stream has a source, zero or more intermediate operations ( filter , map , flatMap , distinct , sorted , peek , limit , skip ), and one terminal operation ( forEach , collect , reduce , count , anyMatch , findFirst , min , max ).
323 words, about 2 min06Exceptions and Assertions
Exceptions and Assertions tests checked versus unchecked exceptions, resource management, custom exceptions, and the correct use of assertions. Throwable splits into Error (unrecoverable) and Exception .
321 words, about 2 min07Using the Java I/O API
Using the Java I/O API tests byte and character streams, buffering, serialization, and correct resource handling in java.io . Byte streams ( InputStream / OutputStream ) handle binary data; character streams ( Reader / Writer ) handle text and charset conversion.
293 words, about 1 min08Concurrency
Concurrency tests thread creation, synchronization, visibility, executors, and concurrent collections. Create a thread by extending Thread and overriding run() , or by passing a Runnable to Thread .
311 words, about 2 min09Building Database Applications with JDBC
Building Database Applications with JDBC tests connections, statements, result sets, transactions, and resource cleanup. DriverManager.getConnection(url, user, password) returns a Connection .
304 words, about 2 min10Localization
Localization tests Locale , resource bundles, formatting, and locale-sensitive parsing. A Locale has language, country, and optional variant; Locale.forLanguageTag("en-US") uses BCP 47 tags.
293 words, about 1 min11Java File I/O (NIO.2)
Java File I/O (NIO.2) tests path manipulation, file operations, directory traversal, and attribute handling with java.nio.file . Path is an immutable sequence of name elements; create it with Paths.get("dir", "file.txt") .
319 words, about 2 min12Java Date/Time API
Java Date/Time API tests the immutable java.time types, arithmetic, formatting, and time-zone behavior. LocalDate , LocalTime , and LocalDateTime have no time zone; ZonedDateTime and OffsetDateTime do; Instant is a UTC point on the timeline.
275 words, about 1 min