OCP Oracle Certified Professional Java SE 17 Developer (1Z0-829)
(1Z0-829.AE1) / ISBN : 978-1-64459-405-6
About This Course
This course offers a comprehensive guide to preparing for the OCP Oracle Certified Professional Java SE 17 Developer (1Z0-829) certification exam. Our course covers all key topics outlined in the exam objectives, including Java fundamentals, object-oriented programming, functional programming, modular applications, concurrency, security, and database operations. Through a combination of in-depth lectures, hands-on coding exercises, and practice exams, students will gain the knowledge and skills necessary to excel in the certification exam and apply Java SE 17 concepts in real-world scenarios.
Skills You’ll Get
Get the support you need. Enroll in our Instructor-Led Course.
Interactive Lessons
16+ Interactive Lessons | 251+ Exercises | 356+ Quizzes | 791+ Flashcards | 280+ Glossary of terms
Gamified TestPrep
50+ Pre Assessment Questions | 2+ Full Length Tests | 50+ Post Assessment Questions | 100+ Practice Test Questions
Hands-On Labs
89+ LiveLab | 28+ Video tutorials | 37+ Minutes
Introduction
- Understanding the Exam
- Reading This Course
- Studying for the Exam
- Applying Test-Taking Strategies
- Taking the Exam
- Objective Map
Building Blocks
- Learning about the Environment
- Understanding the Class Structure
- Writing a main() Method
- Understanding Package Declarations and Imports
- Creating Objects
- Understanding Data Types
- Declaring Variables
- Initializing Variables
- Managing Variable Scope
- Destroying Objects
- Summary
- Exam Essentials
Operators
- Understanding Java Operators
- Applying Unary Operators
- Working with Binary Arithmetic Operators
- Assigning Values
- Comparing Values
- Making Decisions with the Ternary Operator
- Summary
- Exam Essentials
Making Decisions
- Creating Decision-Making Statements
- Applying switch Statements
- Writing while Loops
- Constructing for Loops
- Controlling Flow with Branching
- Summary
- Exam Essentials
Core APIs
- Creating and Manipulating Strings
- Using the StringBuilder Class
- Understanding Equality
- Understanding Arrays
- Calculating with Math APIs
- Working with Dates and Times
- Summary
- Exam Essentials
Methods
- Designing Methods
- Declaring Local and Instance Variables
- Working with Varargs
- Applying Access Modifiers
- Accessing static Data
- Passing Data among Methods
- Overloading Methods
- Summary
- Exam Essentials
Class Design
- Understanding Inheritance
- Creating Classes
- Declaring Constructors
- Initializing Objects
- Inheriting Members
- Creating Abstract Classes
- Creating Immutable Objects
- Summary
- Exam Essentials
Beyond Classes
- Implementing Interfaces
- Working with Enums
- Sealing Classes
- Encapsulating Data with Records
- Creating Nested Classes
- Understanding Polymorphism
- Summary
- Exam Essentials
Lambdas and Functional Interfaces
- Writing Simple Lambdas
- Coding Functional Interfaces
- Using Method References
- Working with Built-in Functional Interfaces
- Working with Variables in Lambdas
- Summary
- Exam Essentials
Collections and Generics
- Using Common Collection APIs
- Using the List Interface
- Using the Set Interface
- Using the Queue and Deque Interfaces
- Using the Map Interface
- Comparing Collection Types
- Sorting Data
- Working with Generics
- Summary
- Exam Essentials
Streams
- Returning an Optional
- Using Streams
- Working with Primitive Streams
- Working with Advanced Stream Pipeline Concepts
- Summary
- Exam Essentials
Exceptions and Localization
- Understanding Exceptions
- Recognizing Exception Classes
- Handling Exceptions
- Automating Resource Management
- Formatting Values
- Supporting Internationalization and Localization
- Loading Properties with Resource Bundles
- Summary
- Exam Essentials
Modules
- Introducing Modules
- Creating and Running a Modular Program
- Updating Our Example for Multiple Modules
- Diving into the Module Declaration
- Creating a Service
- Discovering Modules
- Comparing Types of Modules
- Migrating an Application
- Summary
- Exam Essentials
Concurrency
- Introducing Threads
- Creating Threads with the Concurrency API
- Writing Thread-Safe Code
- Using Concurrent Collections
- Identifying Threading Problems
- Working with Parallel Streams
- Summary
- Exam Essentials
I/O
- Referencing Files and Directories
- Operating on File and Path
- Introducing I/O Streams
- Reading and Writing Files
- Serializing Data
- Interacting with Users
- Working with Advanced APIs
- Review of Key APIs
- Summary
- Exam Essentials
JDBC
- Introducing Relational Databases and SQL
- Introducing the Interfaces of JDBC
- Connecting to a Database
- Working with a PreparedStatement
- Little Bobby Tables
- Getting Data from a ResultSet
- Calling a CallableStatement
- Controlling Data with Transactions
- Closing Database Resources
- Summary
- Exam Essentials
Building Blocks
- Using the main() Method
- Passing Parameters to a Java Program
- Calling Constructors
- Creating a Wrapper Class
Operators
- Using the Division and Modulus Operators
- Using the Logical AND Operator
- Using the Logical OR Operator
- Using the Ternary Operator
Making Decisions
- Using the if Statement
- Using the if-else Statement
- Using the switch Statement
- Using the do/while Loop
- Using the while Loop
- Using the for-each Loop
- Using the for Loop
- Using the Nested Loop
- Using the continue Statement
Core APIs
- Using the equals() Method
- Using the replace() and length() Methods
- Using the insert() Method
- Using the append() Method
- Sorting, Searching, and Printing the Index of an Element in an Array
Methods
- Using Return Type
- Declaring Instance Variables
- Using the static Method
Class Design
- Extending a Class
- Calling Parent Constructors with the super() Keyword
- Using the abstract Modifier
Beyond Classes
- Using an Interface
- Creating Enums
- Creating a static Nested Class
- Using Polymorphism
Lambdas and Functional Interfaces
- Creating a Lambda Expression
- Implementing a User-Defined Functional Interface
- Using the Predicate Interface
Collections and Generics
- Using the remove() Method
- Using the Diamond Operator
- Sorting an Array
- Using Unbounded Wildcards
Streams
- Creating an Optional Class
- Using the map() Method
- Using the count() Method
- Using the min() and max() Methods
- Generating an Infinite Stream of Integers
- Implementing the skip() Method on a Stream
- Using the limit() Method
- Using the distinct() Method
- Using the filter() Method
- Using the collect() Method
- Using the reduce() Method
- Using the forEach() Method
- Using the noneMatch() Method
- Using the anyMatch() Method
- Using the allMatch() Method
- Using the findFirst() Method
- Using the findAny() Method
- Demonstrating Spliterator Using the tryAdvance() Method
Exceptions and Localization
- Using a Stack Trace
- Creating a Custom Exception
- Using Multiple catch Blocks
- Using the SimpleDateFormat Class
- Formatting Numbers
Modules
- Using a Module
Concurrency
- Creating a Thread by Implementing the Runnable Interface
- Creating a Thread by Extending the Thread Class
- Using the CyclicBarrier Class
- Applying the ReentrantLock Interface
- Using the CopyOnWriteArrayList Class
- Understanding SkipList Collections
I/O
- Creating the File Object
- Using the isSameFile() Method
- Deleting a File Using the delete() and deleteIfExists() Methods
- Using the isAbsolute() Method
- Deriving a Path Using the relativize() Method
- Deriving a Path Using the normalize() Method
- Using the exists() Method
- Using the InputStream Class
- Using the OutputStream Class
- Reading a File Using the readAllLines() Method
- Applying the Serializable Interface
- Searching a Directory Using the find() Method
- Implementing the skip() Method on a File
- Using the mark() and reset() Methods
JDBC
- Using the SELECT Statement
- Using the DELETE Statement
- Using the CREATE TABLE Statement
- Using the UPDATE Statement
- Connecting to a Database
- Using the PreparedStatement Interface