Oracle Certified Professional: Java SE 11 Developer (1Z0-819) Practice Test
Build your confidence for Oracle Certified Professional: Java SE 11 Developer (1Z0-819). Practice the concepts, understand the answers, and strengthen your knowledge one question at a time.
Try a sample questionExam overview and details
The Oracle Certified Professional: Java SE 11 Developer (1Z0-819) certification is the industry-standard credential for validating professional Java programming proficiency, and one of the most recognized software development certifications worldwide. The exam covers Java fundamentals, object-oriented programming principles, exception handling, Java APIs including collections and streams, functional programming with lambdas, the Java Platform Module System (JPMS) introduced in Java 9, concurrent programming, I/O operations, and database access with JDBC. Java SE 11 is a long-term support (LTS) release, making this certification particularly valuable for enterprise development roles where stability is critical. The OCP Java SE 11 Developer combines both Java SE 11 Programmer I (1Z0-815) and Programmer II (1Z0-816) objectives into a single comprehensive exam.
Sample Questions
Choose an answer and explore the explanation to see how practice works.
A developer is building a modular Java application and needs to use the JDBC API to connect to a relational database. Which module must be required in the module descriptor to access the JDBC interfaces?
A developer is building a Java SE application that must authenticate to a remote service using Kerberos tickets. Which module should be used to access the necessary security APIs?
A developer is building a Java SE application that must run on any conforming Java SE 11 implementation, including those that are not the reference JDK. Which module is guaranteed to be available for the application to use?
A developer is designing a new class that represents a network connection and needs to provide a method that reports whether the connection is currently active. Following the standard Java naming conventions, what should the method be named?
A developer is maintaining a widely distributed Java library. They need to modify an existing class without breaking binary compatibility for clients who have already compiled against the previous version. Which of the following changes is guaranteed to preserve binary compatibility?
Career Opportunities & Salary
Exam insights and study advice
In a world of fast-moving frameworks and trends, a deep, certified understanding of the core platform is your superpower. Passing the 1Z0-819 validates your expertise to employers and peers, proving you have the solid foundation needed to build efficient, scalable, and maintainable applications. It's the difference between just writing code and engineering solutions with the full power of the Java platform at your fingertips.
Your Path Forward
What this exam covers
01Annotations
This specific domain involves creating custom annotations, applying annotations within Java code structures, and processing annotations dynamically during application execution and compilation phases according to official language specifications.
Topics
- Create, apply, and process annotations
Learning objectives
- Create, apply, and process annotations
02Concurrency
This domain focuses on worker threads using Runnable and Callable, managing concurrency using ExecutorService and the java.util.concurrent API, and developing thread-safe code utilizing different locking mechanisms for high-performance applications.
Topics
- Create worker threads using Runnable and Callable, and manage concurrency using an ExecutorService and java.util.concurrent API
- Develop thread-safe code, using different locking mechanisms and java.util.concurrent API
Learning objectives
- Create worker threads using Runnable and Callable, and manage concurrency using an ExecutorService and java.util.concurrent API
- Develop thread-safe code, using different locking mechanisms and java.util.concurrent API
03Controlling Program Flow
This domain focuses on controlling program execution using loops, if/else conditional structures, and switch statements to direct logical flow within Java SE applications according to official Oracle requirements.
Topics
- Create and use loops, if/else, and switch statements
Learning objectives
- Create and use loops, if/else, and switch statements
04Database Applications with JDBC
This specific domain focuses heavily on connecting to databases, performing SQL operations, and processing query results using the JDBC API to build database-driven Java SE enterprise applications successfully without issues.
Topics
- Connect to and perform database SQL operations, process query results using JDBC API
Learning objectives
- Connect to and perform database SQL operations, process query results using JDBC API
05Exception Handling
This domain deals with error management via try/catch/finally blocks, try-with-resource statements, multi-catch clauses, and custom exceptions to ensure reliable exception handling across enterprise Java SE software deployment projects.
Topics
- Handle exceptions using try/catch/finally clauses, try-with-resource, and multi-catch statements
- Create and use custom exceptions
Learning objectives
- Handle exceptions using try/catch/finally clauses, try-with-resource, and multi-catch statements
- Create and use custom exceptions
06Java I/O API
This domain addresses reading and writing console and file data using I/O Streams, implementing serialization and deserialization techniques on Java objects, and handling file system objects using the java.nio.file API.
Topics
- Read and write console and file data using I/O Streams
- Implement serialization and deserialization techniques on Java objects
- Handle file system objects using java.nio.file API
Learning objectives
- Read and write console and file data using I/O Streams
- Implement serialization and deserialization techniques on Java objects
- Handle file system objects using java.nio.file API
07Java Object-Oriented Approach
This domain explores object lifecycles, nested classes, instance members, static members, overloaded methods, instance initializers, static initializer statements, and object initialization constructors required for developing proper object-oriented Java SE applications.
Topics
- Declare and instantiate Java objects including nested class objects, and explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)
- Define and use fields and methods, including instance, static and overloaded methods
- Initialize objects and their members using instance and static initialiser statements and constructors
- Understand variable scopes, apply encapsulation and make objects immutable
- Create and use subclasses and superclasses, including abstract classes
- Utilize polymorphism and casting to call methods, differentiate object type versus reference type
- Create and use interfaces, identify functional interfaces, and utilize private, static, and default methods
- Create and use enumerations
Learning objectives
- Declare and instantiate Java objects including nested class objects, and explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)
- Define and use fields and methods, including instance, static and overloaded methods
- Initialize objects and their members using instance and static initialiser statements and constructors
- Understand variable scopes, apply encapsulation and make objects immutable
- Create and use subclasses and superclasses, including abstract classes
- Utilize polymorphism and casting to call methods, differentiate object type versus reference type
- Create and use interfaces, identify functional interfaces, and utilize private, static, and default methods
- Create and use enumerations
08Java Platform Module System
This domain covers the Java Platform Module System, automatic modules, declaring modules, using modules, exposing modules, service usage, and modular application deployment and execution for modern Java platform architectures.
Topics
- Deploy and execute modular applications, including automatic modules
- Declare, use, and expose modules, including the use of services
Learning objectives
- Deploy and execute modular applications, including automatic modules
- Declare, use, and expose modules, including the use of services
09Localization
This specific domain explores localization through Locale objects, resource bundles, and Java APIs designed carefully to parse and format messages, dates, and numbers for international software deployment across global markets.
Topics
- Implement Localization using Locale, resource bundles, and Java APIs to parse and format messages, dates, and numbers
Learning objectives
- Implement Localization using Locale, resource bundles, and Java APIs to parse and format messages, dates, and numbers
10Secure Coding in Java SE Application
This domain covers mitigation of security threats like denial of service, code injection, input validation, data integrity assurance, secure resource access for filesystems, policy management, and execution of privileged code.
Topics
- Develop code that mitigates security threats such as denial of service, code injection, input validation and ensure data integrity
- Secure resource access including filesystems, manage policies and execute privileged code
Learning objectives
- Develop code that mitigates security threats such as denial of service, code injection, input validation and ensure data integrity
- Secure resource access including filesystems, manage policies and execute privileged code
11Working with Arrays and Collections
This domain addresses generics, wildcards, Java arrays, List collections, Set collections, Map collections, Deque collections, convenience methods, and sorting data using Comparator and Comparable interfaces for efficient data structures.
Topics
- Use generics, including wildcards
- Use a Java array and List, Set, Map and Deque collections, including convenience methods
- Sort collections and arrays using Comparator and Comparable interfaces
Learning objectives
- Use generics, including wildcards
- Use a Java array and List, Set, Map and Deque collections, including convenience methods
- Sort collections and arrays using Comparator and Comparable interfaces
12Working with Java data types
This domain covers primitives, wrapper classes, operators, parentheses, type promotion, type casting, text handling with String and StringBuilder classes, and local variable type inference including usage as lambda parameters within Java SE applications.
Topics
- Use primitives and wrapper classes, including, operators, parentheses, type promotion and casting
- Handle text using String and StringBuilder classes
- Use local variable type inference, including as lambda parameters
Learning objectives
- Use primitives and wrapper classes, including, operators, parentheses, type promotion and casting
- Handle text using String and StringBuilder classes
- Use local variable type inference, including as lambda parameters
13Working with Streams and Lambda expressions
This domain involves functional interfaces, lambda expressions from the java.util.function package, data processing with Java Streams, filtering, transformation, decomposition, reduction, grouping, and partitioning on sequential and parallel streams.
Topics
- Implement functional interfaces using lambda expressions, including interfaces from the java.util.function package
- Use Java Streams to filter, transform and process data
- Perform decomposition and reduction, including grouping and partitioning on sequential and parallel streams
Learning objectives
- Implement functional interfaces using lambda expressions, including interfaces from the java.util.function package
- Use Java Streams to filter, transform and process data
- Perform decomposition and reduction, including grouping and partitioning on sequential and parallel streams