


THE OCP EXAM TOPICS COVERED IN THIS PRACTICE TEST INCLUDE THE FOLLOWING:
Utilizing Java Object-Oriented Approach
Declare and instantiate Java objects, including nested classes, and explain their lifecycle (creation, reassigning references, and garbage collection).
Create classes and records; define and use instance and static fields, methods, constructors, and initializers.
Understand variable scopes, apply encapsulation, and create immutable objects. Use local variable type inference.
Implement inheritance, including abstract and sealed types, and override methods (including those from the Object class).
Apply polymorphism, differentiate between object type and reference type, and perform reference type casting.
Use pattern matching with the instanceof operator and enhanced switch.
Create and use interfaces, including functional interfaces, and utilize private, static, and default interface methods.
Create and use enum types with fields, methods, and constructors.
Working with Arrays and Collections
Create Java arrays, and work with List, Set, Map, and Deque collections.
Add, remove, update, retrieve, and sort elements in collections.
Working with Streams and Lambda Expressions
Use object and primitive Java Streams with lambda expressions to filter, transform, process, and sort data.
Apply functional interfaces to support stream operations.
Perform decomposition, concatenation, reduction, grouping, and partitioning on both sequential and parallel streams.
Handling Exceptions
Handle exceptions using try/catch/finally, try-with-resources, and multi-catch blocks.
Create and manage custom exceptions.
Implementing Localization
Implement localization using Locale and resource bundles.
Parse and format messages, dates, times, and numbers, including currency and percentages.
Managing Concurrent Code Execution
Create and manage both platform and virtual threads using Runnable and Callable.
Use Executor services and concurrent APIs to control thread lifecycle and execute tasks.
Write thread-safe code using synchronization, locking mechanisms, and concurrent data structures.
Process Java collections concurrently and use parallel streams for high-performance data processing.
Using Java I/O API
Read and write data using console and file I/O streams.
Serialize and deserialize Java objects.
Construct, traverse, read, and write Path objects and their properties using the java.nio.file API.