We may earn an affiliate commission when you visit our partners.
Course image
Andrii Piatakha

Are you ready to pass the Oracle Certified Professional: Java SE 17 Developer (1Z0-829) exam and prove your mastery of one of the world’s most in-demand programming languages?

Java remains a dominant force in enterprise applications, cloud systems, Android development, and financial services — and earning the OCP Java 17 certification is your ticket to career advancement, credibility, and higher salaries.

Read more

Are you ready to pass the Oracle Certified Professional: Java SE 17 Developer (1Z0-829) exam and prove your mastery of one of the world’s most in-demand programming languages?

Java remains a dominant force in enterprise applications, cloud systems, Android development, and financial services — and earning the OCP Java 17 certification is your ticket to career advancement, credibility, and higher salaries.

This all-in-one training program is designed to take you from core Java fundamentals to the advanced topics needed to ace the 1Z0-829 exam — all while helping you build real, hands-on coding skills you can use immediately in the workplace.

Why This Course Is Different

Unlike generic Java tutorials, this course is laser-focused on the official Oracle exam objectives for Java SE 17, ensuring you’re learning exactly what’s required — no fluff, no guesswork. You’ll get:

  • Step-by-step explanations of every 1Z0-829 exam topic

  • Live coding demonstrations to cement your understanding

  • Practice questions and mock exams that mirror the real test format

  • Exam-day strategies to maximize your score and reduce stress

Whether you’re upgrading from Java 8/11 or starting fresh, this course covers all modern Java 17 features — including records, sealed classes, text blocks, pattern matching, and the powerful Java Platform Module System (JPMS).

What You’ll Learn

We’ll cover every domain of the official exam:

  1. Handling Date, Time, Text, Numeric & Boolean Values

    • Work with primitives, wrappers, Math API, type casting

    • Manipulate text using String, StringBuilder, and text blocks

    • Master the Date-Time API for dates, times, durations, instants, and time zones

  2. Controlling Program Flow

    • Implement decision-making with if/else and enhanced switch

    • Work with loops, breaks, and continues effectively

  3. Object-Oriented Programming in Java

    • Classes, records, inheritance, polymorphism, abstract and sealed classes

    • Interfaces with private, static, and default methods

    • Enums with fields, methods, and constructors

  4. Exception Handling

    • try/catch/finally, multi-catch, try-with-resources, and custom exceptions

  5. Arrays and Collections

    • Manipulate List, Set, Map, and Deque collections

    • Sorting, updating, and retrieving elements efficiently

  6. Streams and Lambda Expressions

    • Filtering, mapping, reducing, grouping, and parallel processing

  7. Modules, Packaging & Deployment (JPMS)

    • Define modules, dependencies, and services

    • Create modular/non-modular JARs and custom runtime images

  8. Concurrency

    • Create and manage threads with Runnable and Callable

    • Use ExecutorService, locks, and parallel streams

  9. Java I/O & NIO.2

    • Read/write files, serialize/deserialize objects

    • Work with Path and file properties

  10. JDBC Database Access

    • Connect to databases, execute queries, manage transactions

  11. Localization & Additional Features

    • Locales, resource bundles, formatting, annotations, and logging

Who This Course Is For

  • Developers preparing for the Oracle Java

    Java 17 is a Long-Term Support (LTS) release, meaning it will be supported for many years — making it the perfect time to invest in your skills. Companies worldwide are migrating to Java 17, and certified developers are in high demand.

    Don’t just learn Java — prove your expertise and set yourself apart. Enroll now and start your journey to becoming an Oracle Certified Professional Java SE 17 Developer.

Enroll now

What's inside

Learning objectives

  • Master all official oracle 1z0-829 exam objectives for java se 17 developer certification
  • Confidently work with primitives, wrapper classes, type promotion, and casting in java
  • Manipulate text effectively using string, stringbuilder, and text blocks
  • Work with date-time api for dates, times, durations, instants, time zones, and dst
  • Implement program control flow using if/else, loops, break/continue, and enhanced switch
  • Design and use classes, records, enums, and nested classes with proper encapsulation and immutability
  • Apply inheritance, polymorphism, sealed classes, and pattern matching in real-world scenarios
  • Handle exceptions with try/catch/finally, multi-catch, try-with-resources, and custom exceptions
  • Create, manipulate, and sort arrays, lists, sets, maps, and deques
  • Use streams and lambda expressions to filter, map, group, and reduce data in sequential and parallel processing
  • Package and deploy code using the java platform module system (jpms), modular jars, and runtime images
  • Write thread-safe concurrent applications with runnable, callable, executorservice, locks, and parallel streams
  • Perform file i/o and nio.2 operations, including serialization, deserialization, and path manipulation
  • Access databases with jdbc: connections, prepared statements, result sets, and transaction management
  • Implement localization, annotations, logging, and generics to build internationalized, maintainable java applications
  • Show more
  • Show less

Syllabus

Introduction

From this lecture you will learn:
• How to communicate during this course

• Where to ask questions

• How to ask questions

• Communication channels

Read more

From this lecture you will learn:

• Where to find good tests to verify your knowledge

• How to get unlimited access to Learn IT application (only for my students from Udemy)

In this lesson, I’ll show you how my students get exclusive, free, no sign-up access to a one-of-a-kind AI Bot I personally built to help you deeply learn the material, reinforce your knowledge, and gain a real advantage in interviews, real-world work and career growth.

From this lecture you will learn:

• Java History

• Why Java

• What you can implement with Java

• This training course structure

• Opportunities after this course

• What is JVM

• What is JRE

• What is JDK

From this lecture you will learn:

• How to chose JDK version

• Difference between openjdk and oraclejdk

• How to install jdk on computer

• How to configure environment variables

From this lecture you will learn:

• What are console applications

• How to compile .java files to bytecode

• Basic Syntax

• How to create ‘Hello World’ app on Java

• What are compilation errors

• How to execute our programs on JVM

In the lesson we will solve homework together with and we will write batch script from scratch to compile your source code and run Hello World application.

From this lecture you will learn:

• What is IDE

• What are the most popular IDE for Java development

• Eclipse for Java EE developers: Overview

• Eclipse Java Project

• What is a package

From this lecture you will learn:

• What are comments

• What are types of comments in Java source code

• Java Doc

• Tips and best practices

The Quiz covers content from the following lessons:

  • What is Java and JDK

  • JDK Installation

  • First application: Hello World App

  • Integrated Development Environment, Eclipse Overview

  • Comments in Java Source Code

From this lecture you will learn:

• What data types exists in Java

• What are primitive types

• Integers

• Floating-point numbers

• Characters

• Boolean

• Primitive types conversion

• What are variables

• 'var' variables

• Java keywords

From this lecture you will learn:

• Number Systems

• Binary number system

• Octal number system

• Hexadecimal number system

• How to convert from one system to another

• Binary, octal and hexadecimal literals in Java

From this lecture you will learn:

• Arrays: overview

• One-dimensional arrays

• How to access elements in arrays

• Default values for elements in array

• ArrayIndexOutOfBoundsException

• Array literal

• Multidimensional arrays

•‘ null’ values

• java.util.Arrays

• import statement

• How to investigate JDK source code

The Quiz covers content from the following lessons:

  • Primitive types and variables

  • Number Systems

  • Arrays

From this lecture you will learn:

- how to create packages in eclipse

- how to configure package presentation in eclipse

- what is flat and hierarchical package presentation

- how to create nested packages

- how to create package during class creation

From this lecture you will learn:

- What are eclipse plugins?

- How to install free plugins?

- Eclipse marketplace

- How to change style of the workspace

From this lecture you will learn:

• How to rename multiple items at once

• Code formatting

• Configure formatting rules

• Extract variable from expression

• Extract method from multiple statements

• Import optimization

From this lecture you will learn:

• What are operators?

• Type of operators

• Arithmetic operators

• Assignment operators

• Relational operators

• Logical operators

• Bitwise operators

• Ternary operator

• Operator precedence

From this lecture you will learn:

• Dividing of integers specifics

• Subtraction of floating-point numbers specifics

• BigDecimal type

• How to control precision of arithmetic operations

From this lecture you will learn:

• java.lang.Math class overview

• How to perform basic mathematical operations

• Rounding

• Random number generation

•  NaN - what is not a number?

•  Infinity - what is 'infinity'?

•  How to find max and min value?

•  How to find square root?

From this lecture you will learn:

• What is expression

• What is statement

• Type of the expression in Java

• Concatenation with String

From this lecture you will learn:

• How to compare primitives

• How to compare reference types

• Java Memory Model: Heap and Stack in Java

• Integer pool

• equals() method

• How to compare arrays

From this lecture you will learn:

• How you can read input from the console

• What is System.in

From this lecture you will learn:

• How to run programs with arguments

• Project Explorer VS Navigator view in Eclipse

• How to run JVM with arguments

• How to set up maximum heap size for JVM

• Solutions for coding exercises

The Quiz covers content from the following lessons:

  • Operators in Java

  • Operations with integers and floating-point numbers, BigDecimal type

  • Math class, NaN, Infinity

  • Type of the expression in Java

  • Compare primitive and reference types & Java Memory Model

  • Read user input from console

From this lecture you will learn:

• java.lang.String class overview

• Main String methods

• How to create String objects

From this lecture you will learn:

• String pool

• String comparison

From this lecture you will learn:

• What are escape sequences?

• What  escape sequences are available in Java?

• Unicode characters escaping

From this lecture you will learn:

• How to format string

• What are format specifiers?

• How to use Formatter?

• When need to format strings?

From this lecture you will learn:

• What are regular expressions?

• When to use regular expressions?

• Why we need regular expressions?

• How to write regular expressions in Java?

• Pattern and Matcher objects in Java

• How to find words in String

In this lesson you will see one of the way to solve home tasks. Best practices will be shared. POSIX groups will be discussed.

The Quiz covers content from the following lessons:

  • String: object creation and main methods overview

  • String comparison:  How to compare Strings and what is String Pool

  • Escape Sequences in Java

  • String Formatting

  • Regular expressions in Java

From this lecture you will learn:

• How to use 'if' statement

• Syntax of 'if' statement

• Nested 'if' statements

• 'if-else-if' ladder

In this lesson you will find solution for coding exercises from 'if' statement topic

From this lecture you will learn:

• How to use 'switch' statement

• Syntax of 'switch' statement

• Type of expression to be used in 'switch'

• 'break' statement

• 'default' statement

• 'switch' vs 'if statement

In this lesson you will find solution for 'swtich' statement homework.

The Quiz covers content from the following lessons:

  • ‘if-else’ construction

  • ‘switch’ construction

From this lecture you will learn:

• How to generate random numbers?

• What is java.util.Random type?

• API of java.util.Random

• How to generate random numbers in specific range of values

From this lecture you will learn:

• What are iteration statements in Java?

• When we need to use iteration statements in Java

• Examples of loops in Java

• 'while' loop

From this lecture you will learn:

• How to use 'do-while' loop

• Usage of ´do-while´ loop - examples

• When to use 'do-while' over 'while' loop

From this lecture you will learn:

• How to use 'for' with condition loop

• Examples of the use

• Comma in for loop

From this lecture you will learn:

• How to use 'for each' loop

• Examples of the use

• Shortcut in eclipse to create 'for each' loop

From this lecture you will learn:

• How you can put one loop inside another one

• When you need to use nested loops

From this lecture you will learn:

• What are jump statements

• Continues statement

• Break statement

From this lecture you will learn:

• What is goto statement in programming?

• Labels in Java

• How to use labels in Java

In this lesson we will review solution for coding exercises.

The Quiz covers content from the following lessons:

  • 'while' loop

  • 'do-while' loop

  • 'for' with condition loop

  • 'for each' loop

  • Nested loops

  • Jump Statements - Break and Continue

  • Labels in Java

From this lecture you will learn:

• Passing data by value

• Passing data by reference

• Passing primitive types to method in Java

• Passing reference types to method in Java

From this lecture you will learn:

• What is recursion

• What are recursive methods

• How to write recursive methods

• When do we need recursive methods

• Pros and cons of recursive methods

From this lecture you will learn:

• What are variable-length arguments

• Syntax of varargs

• Varargs in the methods

In this video we will review coding exercises from this section

The Quiz covers content from the following lessons:

  • Methods in Java: Overview

  • Parameter Passing Mechanism in Java

  • Recursive methods

  • Variable Length Arguments

From this lecture you will learn:

• What is Enum type

• How to declare Enum type

• How to initialize Enum variables

• How to compare Enum types

• Iteration over Enum constants

• Custom properties of Enum

• Custom methods of Enum

From this lecture you will learn:

• What is a debugger

• Why do we need to debug our programs

• How to debug java program in Eclipse

• How to analyze program execution

• How to adjust program execution in debug mode if needed

• What are breakpoints

From this lecture you will learn:

• What is OOP

• What is an object

• Class

• Why do we need OOP

• OOP advantages

• OOP VS Functional programming

• Inheritance

• Encapsulation

• Polymorphism

• Abstraction

From this lecture you will learn:

• What does class consist of

• Fields

• Initialization blocks

• Constructors

• Methods

• Nested classes

• Getters and setters

• toString() method

• How to create object

From this lecture you will learn:

• Concrete classes

• Nested classes

• Final classes

• POJO classes

• Abstract classes

• Anonymous classes

• Abstract keyword

From this lecture you will learn:

• What are interfaces

• What does interface consist of

• Abstract class VS Interface

• Interface VS Class VS Type

From this lecture you will learn:

• What is inheritance

• ‘super’ keyword

• ‘instanceof’ operator

• How to extend classes

• Inheritance rules

From this lecture you will learn:

• What is polymorphism

• Method overriding

• Override VS Overload

• Dynamic binding

• ‘final’ keyword

From this lecture you will learn:

• What is ‘static’ keyword

• Where we can use ‘static’ keyword

• Static methods

• Static fields

• Static import

• Static VS dynamic binding

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Career center

Learners who complete Oracle Java SE 17 Developer Professional: 1Z0-829 Exam will develop knowledge and skills that may be useful to these careers:

Reading list

We've selected 50 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Oracle Java SE 17 Developer Professional: 1Z0-829 Exam.
This textbook provides a comprehensive overview of parallel computing, covering topics such as parallel architectures, programming models, and performance analysis. Grama, Gupta, Karypis, and Kumar are all renowned experts in the field, and their book is considered a standard reference.
Often referred to as "CLRS," this book comprehensive and widely-used textbook for undergraduate and graduate-level algorithms courses. It provides in-depth knowledge of data structures and algorithms, including their analysis and implementation. While it assumes some mathematical familiarity, it's an encyclopedic reference valuable for both learning and as a long-term resource.
This book, particularly its chapters on exceptions, provides in-depth guidance on best practices for using exceptions in Java. It covers topics like using checked versus unchecked exceptions, using exceptions only for exceptional conditions, and providing context with exceptions. It's an essential read for Java developers looking to deepen their understanding of how to effectively use the language's exception handling features. It's widely regarded as a cornerstone text for serious Java programming.
A practical guide to applying OOP principles and agile development practices in C#, including design patterns and refactoring techniques, essential for developers seeking to develop high-quality software using C#.
Offers a comprehensive treatment of data structures and algorithms, suitable for academic settings. It covers various data types and algorithms for sorting, searching, and processing. The book is known for its detailed explanations and includes an online portal with source code, making it a strong resource for solidifying understanding.
A foundational book on enterprise application architecture, which provides a set of patterns for designing and implementing scalable, maintainable, and flexible OOP systems.
Comprehensive guide to software construction and includes a significant section on defensive programming and error handling, which are foundational to understanding exception handling. It provides practical techniques and principles applicable across various programming languages. While not solely focused on exceptions, its broad coverage makes it excellent for gaining a wide understanding of how error handling fits into the larger software development process. It is often used as a textbook and a valuable reference for professionals.
This comprehensive guide provides a thorough introduction to OOP concepts and their implementation in Java, making it a valuable resource for beginners and experienced developers alike.
Provides a comprehensive treatment of distributed algorithms, which are used to solve problems in distributed systems. Lynch covers a wide range of topics, including synchronization, fault tolerance, and consensus. The book valuable resource for anyone interested in designing and implementing distributed systems.
This textbook is suitable for advanced data structures or introductory graduate-level algorithm analysis courses. It bridges the gap between foundational data structures and more advanced analysis techniques. The book provides a rigorous and in-depth analysis of algorithms and their implementation in C++.
A visually appealing and engaging book that introduces and explains design patterns in a clear and accessible way, making it suitable for beginners and experienced developers alike.
Dedicates a chapter to error handling, emphasizing the importance of using exceptions correctly and keeping error handling logic separate from business logic. It advocates for writing clean, readable, and maintainable code, which is crucial for effective exception handling. While not exclusively about exceptions, its principles are directly applicable to writing robust code that handles errors gracefully. It's considered a must-read for developers aiming to improve their coding practices and is often recommended in professional settings.
Covers more advanced topics in Java concurrency, such as non-blocking synchronization, high-performance computing, and concurrency patterns. Lea's deep expertise in Java concurrency makes this book a valuable resource for experienced Java programmers who want to take their concurrency skills to the next level.
Provides a comprehensive treatment of real-time systems, which are systems that must meet strict timing constraints. Laplante covers a wide range of topics, including concurrency, scheduling, and fault tolerance. The book valuable resource for anyone interested in designing and implementing real-time systems.
Serves as an introduction to designing algorithms and includes a comprehensive catalog of algorithms and data structures. It's a valuable reference for understanding different algorithmic techniques and when to apply them. It is suitable for both students and practitioners.
Provides a comprehensive introduction to functional programming, using the Scala programming language. It covers the core concepts of functional programming, such as lambda expressions, higher-order functions, and recursion.
Covers both the theoretical foundations of parallel programming and the practical aspects of implementing parallel algorithms on real-world systems. Wilkinson and Allen's extensive experience in the field makes the book a valuable resource for both students and practitioners.
Covers a wide range of topics in cloud computing, including concurrency. Buyya, Vecchiola, and Selvi provide a comprehensive treatment of concurrency in the context of cloud computing, including topics such as load balancing, fault tolerance, and scalability. The book valuable resource for anyone interested in designing and implementing cloud-based applications.
A practical guide to JDBC, this book focuses on real-world scenarios and provides step-by-step instructions for common database operations.
Save
Delves into the Eclipse Modeling Framework (EMF), a powerful tool for creating and managing models in Eclipse, making it a valuable resource for developers working in model-driven development or domain-specific languages.
Provides a focused look at building robust Java applications through effective exception handling, testing, and debugging. It offers practical guidance and code examples specifically for Java developers aiming to improve the reliability of their software. It's a good resource for deepening understanding of Java-specific exception handling strategies.
Provides a comprehensive overview of lambda expressions in Rust. It covers the basics of lambda expressions, as well as more advanced topics such as closures and iterators.
Provides a comprehensive overview of lambda expressions in F#. It covers the basics of lambda expressions, as well as more advanced topics such as closures and asynchronous programming.
This textbook offers a rigorous introduction to data structures and algorithms with implementations in C++. It covers a wide range of topics and is suitable for undergraduate computer science programs.
This book, a seminal work on code refactoring, includes techniques for dealing with error handling code, such as replacing error codes with exceptions. It emphasizes improving code design and maintainability, which indirectly impacts how effectively exceptions can be used and managed. While not solely about exceptions, its principles are valuable for cleaning up existing codebases to better utilize exception handling mechanisms. It's a key reference for developers involved in maintaining and evolving software systems.
Offers a very approachable and illustrated guide to algorithms, making it excellent for beginners. It uses diagrams and clear explanations to introduce fundamental concepts like sorting and searching. It's a great starting point before diving into more theoretically dense texts.
Offers a practical and in-depth exploration of exception handling in Java, focusing on both theoretical concepts and practical examples. It's designed to help developers write reliable Java applications by mastering exception handling techniques. This book is particularly useful for Java developers seeking a dedicated resource on this topic.
Provides a practical and easy-to-understand approach to data structures and algorithms, using real-world examples. It's excellent for beginners looking to build a strong foundation without getting bogged down in overly theoretical details.
Provides a solid introduction to data structures using C++. It is often used as a textbook and includes numerous examples and exercises to help students understand the concepts and improve their programming skills.
This graduate-level textbook provides a comprehensive look at advanced data structures and their algorithmic considerations. It delves into complexities of data storage and covers specialized structures like interval trees. It's a dense but indispensable text for those needing a deep understanding of advanced topics, with code examples in C.
Similar to 'Effective Java,' this book provides a collection of guidelines and best practices for programming in C#. It includes items specifically related to using and handling exceptions effectively in C#. It's a valuable resource for C# developers looking to write more robust and maintainable code.
Published recently, this book introduces algorithms for complex programming challenges in areas like data analysis and machine learning. It covers cutting-edge approaches and helps in designing custom data structures, making it relevant for those interested in contemporary applications.
For those focusing on JavaScript, this book introduces data structures and algorithms using the language. It's a practical guide for JavaScript developers looking to understand these fundamental concepts and their implementation.
Covers various aspects of Eclipse IDE, including code navigation, debugging, testing, and refactoring, making it a useful resource for Java developers who want to improve their productivity using Eclipse.
Provides a comprehensive overview of lambda expressions in PHP. It covers the basics of lambda expressions, as well as more advanced topics such as closures and generators.
This comprehensive introduction to C++ covers exception handling as part of the core language features. It explains how to use try, catch, and throw in C++ and discusses the principles of exception safety. It's a solid resource for anyone learning C++ and provides a thorough understanding of its exception handling mechanisms.
Explores the design and analysis of data structures from a purely functional programming perspective. It more advanced topic, suitable for those with a strong interest in functional programming and its application to data structures. It's a valuable resource for a deeper, theoretical understanding.
Save
For those interested in the inner workings of JDBC, this book provides an in-depth look at the JDBC architecture and implementation.
This comprehensive reference guide to Python includes detailed information on exceptions, including the exception hierarchy, raising and handling exceptions, and defining custom exceptions. It's a useful resource for Python developers who need a quick and accurate reference for exception handling in the language.
While a specific book titled 'Error Handling in Kotlin' by a prominent author isn't immediately identifiable as a classic or widely cited text, the topic is crucial in Kotlin development. Resources covering functional programming in Kotlin often include sections on error handling using constructs like `Either` or sealed classes, which are common contemporary approaches. A book covering these Kotlin-specific patterns would be valuable for developers working with the language.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Oracle Java SE 17 Developer Professional: 1Z0-829 Exam.

Udemy Buyer Protection & Guarantee

Verified partner policies & purchase protections

Global Marketplace Leader
Free Trial & Audit

Free Lecture Previews

Free preview video lectures available for all courses; optional 7-day free trial on Personal Plan subscriptions (cancel before trial ends to avoid conversion).

Return & Refund Policy

30-Day Money-Back Guarantee

30-day money-back guarantee on all eligible individual course purchases (provided course content has not been substantially consumed or downloaded). Subscription fees are non-refundable once billed.

Buyer Protections

Verified Academic & Industry Partner

Lifetime access to purchased individual courses and future updates, verifiable certificate of completion, and direct student Q&A forums.

Key Purchase Protections
30-day 100% money-back guarantee on course purchases
Lifetime access on web, mobile, and offline
Certificate of completion included with purchase
Direct instructor Q&A and active student community
OpenCourser Verified Partner Policy details last reviewed: 2026-10-22
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser