50 QUESTIONS 120 MINUTES 68% PASSING SCORE $245 EXAM FEE 10 TOPIC AREAS Prepared by DBExam • www.dbexam.com Oracle • Java SE 25 • 1Z0-831 C E R T I F I C A T I O N G U I D E Read It, Trace It, Compile It Inside the Java SE 25 Developer Professional Certification (1Z0-831) Ten exam topic areas and all 24 objectives, laid out as a study checklist - plus the full exam fact sheet, who the credential is really built for, what Java developers are paid in 2026, a five-step route from first read to booked seat, and ten real sample questions with a complete answer key. www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 1 S E C T I O N 0 1 Exam Overview The Java SE 25 Developer Professional certification is Oracle's professional-level credential for the current long-term-support release of Java. It does not test whether you can describe the language - it tests whether you can read a class, a stream pipeline or a module declaration and say exactly what it prints, or exactly why it will not compile. Everything below comes from the official 1Z0-831 exam page and DBExam's 1Z0-831 exam syllabus page. Certification track Oracle Java Credential Oracle Certified Professional Java SE 25 Developer Exam number and title 1Z0-831 - Java SE 25 Developer Professional Number of questions 50 Exam duration 120 minutes Question format Multiple choice Passing score 68% Exam fee USD 245 (pricing varies by country and currency) Delivery Oracle University, on the MyLearn platform Product version covered Java SE 25 Recommended training Become a Java SE 25 Developer learning path Two details are worth pinning down before you book. First, the exam is versioned against Java SE 25 , and the objectives name features that older study guides do not cover - flexible constructor bodies, unnamed variables, sequenced collections, stream gatherers, module import declarations, compact source files, instance main methods, virtual threads and scoped values. Second, you get 120 minutes for 50 questions , which sounds generous until you are tracing code by hand. Purchase and scheduling run through Oracle University. www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 2 S E C T I O N 0 2 Who This Exam Is Built For Read the blueprint and four kinds of practitioner fall out of it. None of them is new to programming: the questions assume you write Java already and test how precisely you know what the compiler and the runtime will do. Java Developers Backend Engineers Software Engineers Technical Leads Oracle's recommended route is the Become a Java SE 25 Developer learning path on MyLearn. Day-to-day experience helps less than people expect, because an IDE normally answers the questions this exam asks - which overload is chosen, whether a default method conflict compiles, what a text block's indentation becomes. The wider Oracle catalogue sits on the DBExam Oracle hub. S E C T I O N 0 3 The Ten Topic Areas Oracle publishes the topic list and its objectives but does not publish percentage weightings for this exam. What it does publish is how many objectives sit under each area - a fair proxy for where the depth is. On that measure, object-oriented principles dominate the blueprint with seven of the twenty-four objectives, and four areas - values, concurrency, I/O and OOP - account for two-thirds of everything listed. Plan your study time accordingly. Applying Object-Oriented Principles in Java Programs 7 Handling Date, Time, Text, Numeric and Boolean Values 3 Implementing Multithreading for Concurrent Code Execution 3 Performing Input and Output Operations Using the Java I/O API 3 Processing Data Using Streams and Lambda Expressions 2 Packaging and Deploying Java Code 2 Implementing Program Flow Control Using Decision and Looping Constructs 1 Implementing Exception Handling in Java Applications 1 Using Arrays and Collections to Store and Retrieve Data 1 Developing Applications with Localization Support 1 Objectives listed per topic area on the 1Z0-831 syllabus. This is a proxy for emphasis, not an official weighting. The full objective list follows, straight from the 1Z0-831 syllabus. Read it as a checklist - if you cannot write a ten-line program that demonstrates a line, that is a study item. www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 3 01. Handling Date, Time, Text, Numeric and Boolean Values • 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. 02. Implementing Program Flow Control Using Decision and Looping Constructs • Create program flow control constructs including if/else, switch statements and expressions, loops, and break and continue statements. 03. Applying Object-Oriented Principles in Java Programs • 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, including flexible constructor bodies, 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 unnamed variables. • Implement inheritance, including abstract and sealed types as well as record classes. Override methods, including that of the Object class. Implement polymorphism and differentiate between object type and reference type. • Create and use interfaces, identify functional interfaces, and utilize private, static, and default interface methods. • Create and use enum types with fields, methods, and constructors. 04. Implementing Exception Handling in Java Applications • Handle exceptions using try/catch/finally, try-with-resources, and multi-catch blocks, including custom exceptions. 05. Using Arrays and Collections to Store and Retrieve Data • Create arrays, List, Set, Map, Deque, and sequenced collections, and add, remove, update, retrieve, and sort their elements. www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 4 06. Processing Data Using Streams and Lambda Expressions • Use Java object and primitive Streams, including lambda expressions implementing functional interfaces, to create, filter, transform, process, and sort data. • Perform decomposition, concatenation, reduction, grouping and partitioning, and gather operations on sequential and parallel streams. 07. Packaging and Deploying Java Code • Define modules and expose module content, including that by reflection, declare module dependencies, define services, providers, and consumers, and use module import declarations. • Compile and run Java source code, including compact source files, instance main methods, and multi-file source-code programs; create modular and non-modular jars and runtime images; and implement migration to modules using unnamed and automatic modules. 08. Implementing Multithreading for Concurrent Code Execution • Create both platform and virtual threads. Use Runnable and Callable objects, manage the thread lifecycle, use different Executor services and concurrent API to run tasks, and use scoped values to share immutable context. • Develop thread-safe code, using locking mechanisms and concurrent API. • Process Java collections concurrently and utilize parallel streams. 09. Performing Input and Output Operations Using the Java I/O API • 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. 10. Developing Applications with Localization Support • Implement localization using locales and resource bundles. Parse and format messages, dates, times, and numbers, including currency and percentage values. www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 5 S E C T I O N 0 4 What the Credential Is Worth Java remains one of the most widely hired-for languages in enterprise software, and the pay data shows it. For senior Java developers in the US in 2026, ZipRecruiter reports an average of about $130,700 a year, with most salaries between $114,500 and $146,000. ScanRole, working from 1,410 employer job postings, puts senior roles at about $151,100 , and Glassdoor's self-reported figures run higher again, at roughly $175,000 to $194,500. The sources measure different things, so treat $130,000 to $190,000 as the working range. Why this exam, specifically • It is the professional tier: proof you know what the code does, not just that it runs. • It covers the modern language - records, sealed types, pattern-friendly switch, virtual threads. • It is versioned against a long-term-support release that teams will run for years. • It is recognised across employers, frameworks and clouds, not tied to one product. There is a practical angle too. Much of a Java team's time goes on reading code somebody else wrote, and the exam is two hours of exactly that. The habits it forces - tracing a stream pipeline, checking which exceptions an override may throw, knowing what an automatic module is called - are the ones that make code review faster. S E C T I O N 0 5 Getting Certified, Step by Step 1 Read the official exam topics end to end Ten topic areas, 24 objectives. Mark every line you cannot demonstrate in code. 2 Work the Java SE 25 learning path Oracle University's Become a Java SE 25 Developer path, plus the JDK documentation for the newer features. 3 Write small programs with JDK 25 One short file per objective. Predict the output before you run it, then check. 4 Rehearse under exam conditions Fifty questions in 120 minutes - under two and a half minutes each, with code to trace by hand. 5 Book through Oracle University Delivered on MyLearn. Passing bar is 68%; book once you are comfortably above it. For step four, DBExam's 1Z0-831 practice exam mirrors the real format so you can find the gaps before the exam does. Recommended training runs through the Become a Java SE 25 Developer learning path on Oracle MyLearn. www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 6 S E C T I O N 0 6 Oracle 1Z0-831 Exam Sample Questions These ten questions come from DBExam's 1Z0-831 sample questions page, presented here in shuffled order. Note their shape: almost every one hands you code and asks what it prints or which line compiles. Code indentation is restored here for readability; in the text-block question it follows the columns the question states. The answer key is at the end of the section. Q1. A non-modular library is packaged as acme-json-parser-2.4.1.jar. Its manifest contains the entry Automatic-Module-Name: acme.json, and the JAR is placed on the module path. The application module com.report calls com.acme.json.Parser from that JAR. Which directive in the com.report module declaration allows it to compile and run? a) requires acme-json-parser; b) requires acme.json.parser; c) requires acme.json; d) requires acme.json.parser.2.4.1; Q2. These property files are on the classpath: Labels.properties: greet=Hello, bye=Bye, title=Homepage Labels_fr.properties: greet=Bonjour Labels_fr_CA.properties: title=Accueil Labels_de.properties: greet=Hallo, bye=Tschuss Locale.setDefault(Locale.GERMANY); ResourceBundle rb = ResourceBundle.getBundle("Labels", Locale.CANADA_FRENCH); System.out.print(rb.getString("greet") + " " + rb.getString("bye") + " " + rb.getString("title")); What is the result? a) Bonjour Bye Accueil b) Bonjour Bye Homepage c) Bonjour Tschuss Accueil d) A MissingResourceException is thrown. www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 7 Q3. Given: class QuotaException extends Exception { QuotaException(String m) { super(m); } } class HardQuotaException extends QuotaException { HardQuotaException(String m) { super(m); } } abstract class Meter { abstract int read() throws QuotaException; } public class GasMeter extends Meter { // line n1 public static void main(String[] args) { } } Which method, inserted at line n1, allows the code to compile? a) int read() throws HardQuotaException { return 0; } b) int read() throws Exception { return 0; } c) int read() throws HardQuotaException, InterruptedException { return 0; } d) int read() { throw new QuotaException("over limit"); } Q4. Given the code fragment: Stream<String> east = Stream.of("b,a", "c"); Stream<String> west = Stream.of("c", "a,d"); String out = Stream.concat(east, west) .distinct() .<String>mapMulti((s, sink) -> { for (String t : s.split(",")) sink.accept(t); }) .sorted(Comparator.reverseOrder()) .collect(Collectors.joining()); System.out.println(out); What is the result? a) dcba b) dccbaa c) Compilation fails. d) dcbaa www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 8 Q5. The file Mode.java contains: String mode = "no-arg main"; void main() { IO.println(mode); } void main(String[] args) { IO.println(args.length + " " + Arrays.toString(args)); main(); } It is launched with java Mode.java red blue. What is the result? a) It prints no-arg main only. b) It prints 2 [red, blue], then no-arg main. c) Compilation fails at the call to main(). d) Compilation fails at Arrays.toString. Q6. Given: interface Lamp { default String glow() { return "lamp" + level(); } private int level() { return 2; } static Lamp basic() { return new Lamp() { }; } } interface Heater { default String glow() { return "heat"; } } class Stove implements Lamp, Heater { } Which statement is true? a) Stove must override glow(), and inside it Lamp.super.glow() returns lamp2. b) Stove compiles as shown, and new Stove().glow() returns lamp2 at run time. c) Adding public String glow() { return "s" + level(); } to Stove compiles. d) With glow() overridden, Stove.basic() compiles and returns a new Lamp object. www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 9 Q7. Given: enum Tier { BRONZE(1), SILVER(2) { @Override int bonus(int pts) { return pts + 90; } }, GOLD(3); private final int mult; Tier(int mult) { this.mult = mult; } int bonus(int pts) { return pts + mult; } } public class Rewards { public static void main(String[] args) { for (Tier t : Tier.values()) { int r = switch (t) { case BRONZE -> t.bonus(10); case SILVER -> t.bonus(10) + t.ordinal(); case GOLD -> t.ordinal(); }; System.out.print(r + " "); } } } What is the result? a) 11 13 2 b) 11 101 2 c) 11 102 3 d) Compilation fails. Q8. The directory work exists, is empty and is writable. Given: Path dir = Path.of("work").resolve("a/b"); try { Files.createDirectory(dir); System.out.print("made "); } catch (IOException e) { System.out.print(e.getClass().getSimpleName() + " "); } Files.createDirectories(dir); Path f = dir.resolve("n.txt"); Files.writeString(f, "ab"); Files.writeString(f, "cd", StandardOpenOption.APPEND); Files.writeString(f, "e"); System.out.print(Files.readString(f)); What is the result? a) made e b) NoSuchFileException abcde c) NoSuchFileException e d) FileAlreadyExistsException e www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 10 Q9. Daylight saving time begins in the America/New_York zone at 02:00 on 2026-03-08. Given: import java.time.Duration; import java.time.Period; import java.time.ZoneId; import java.time.ZonedDateTime; public class Shift { public static void main(String[] args) { ZoneId zone = ZoneId.of("America/New_York"); ZonedDateTime start = ZonedDateTime.of(2026, 3, 7, 22, 0, 0, 0, zone); ZonedDateTime byHours = start.plus(Duration.ofHours(24)); ZonedDateTime byDays = start.plus(Period.ofDays(1)); System.out.println(byHours.toLocalTime() + " " + Duration.between(start, byDays)); } } What is the result? a) 22:00 PT24H b) 23:00 PT24H c) 22:00 PT23H d) 23:00 PT23H Q10. In the text block, the line containing red starts at column 15, green at column 17, blue at column 16, and the closing delimiter at column 13. Given: public class Palette { public static void main(String[] args) { String tb = """ red \s green\ blue """; System.out.print(tb.replace(' ', '.').replace('\n', '|')); } } What is the result? a) ..red..|....green...blue| b) red..|..green.blue| c) ..red.|....green...blue| d) Compilation fails. Answer key Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 c a a d b a b c d a www.dbexam.com Oracle 1Z0-831 Oracle Certified Professional Java SE 25 Developer 11 S E C T I O N 0 7 Where to Go Next Read what other developers are asking on the Oracle community before you book - questions about the newer language features surface there first. The DBExam 1Z0-831 exam page keeps the syllabus, sample questions and practice exams in one place. Quick reference • Official exam page — mylearn.oracle.com • Exam syllabus + practice test — dbexam.com/oracle • Community threads — forums.oracle.com • Scheduling — oracle.com/education/training/buy Before you book — the guide in one card Exam number 1Z0-831 Passing score 68% Questions 50 Duration 120 minutes Fee USD 245 Delivery Oracle University / MyLearn Topic areas 10 Objectives 24 Heaviest area Object-oriented principles Product version Java SE 25 Good luck - and remember what the blueprint is really asking: not "can you write Java?", but "can you say what this code does without running it?"