OCP Java SE 8 Programmer II

(1Z0-809) / ISBN : 978-1-61691-605-3
This course includes
Hands-On Labs (Add-on)
AI Tutor (Add-on)
350 Review
Get A Free Trial

About This Course

Prepare for the Oracle OCP 1Z0-809 exam with OCP Java SE 8 Programmer II course. The complete course completely covers the Oracle Java 1Z0-809 exam objectives and provides understanding on the areas such as functional programming; basics of object-oriented programming, application of knowledge in database work, and much more. The course covers all fundamental aspects of Java programming and demonstrates that you are proficient in Java technologies and use industry-standard best practices.

Skills You’ll Get

The Oracle OCP Java 1Z0-809 certification is an intermediate-level certification specifically designed to certify the foundation skills that are required for database administration. The Oracle 1Z0-809 exam covers functional programming, basics of object-oriented programming, application of knowledge in database work, and much more.

Get the support you need. Enroll in our Instructor-Led Course.


14+ Lessons | 211+ Exercises | 54+ Flashcards | 54+ Glossary of terms


90+ Pre Assessment Questions | 5+ Full Length Tests | 90+ Post Assessment Questions | 450+ Practice Test Questions

Hands-On Labs

14+ LiveLab | 14+ Video tutorials | 40+ Minutes

Video Lessons

50+ Videos | 03:17+ Hours


Advanced Class Design

  • Reviewing OCA Concepts
  • Using instanceof
  • Understanding Virtual Method Invocation
  • Annotating Overridden Methods
  • Coding equals, hashCode, and toString
  • Working with Enums
  • Creating Nested Classes
  • Summary
  • Exam Essentials

Design Patterns and Principles

  • Designing an Interface
  • Introducing Functional Programming
  • Implementing Polymorphism
  • Understanding Design Principles
  • Working with Design Patterns
  • Summary
  • Exam Essentials

Generics and Collections

  • Reviewing OCA Collections
  • Working with Generics
  • Using Lists, Sets, Maps, and Queues
  • Comparator vs. Comparable
  • Searching and Sorting
  • Additions in Java 8
  • Summary
  • Exam Essentials

Functional Programming

  • Using Variables in Lambdas
  • Working with Built-In Functional Interfaces
  • Returning an Optional
  • Using Streams
  • Working with Primitives
  • Working with Advanced Stream Pipeline Concepts
  • Summary
  • Exam Essentials

Dates, Strings, and Localization

  • Working with Dates and Times
  • Reviewing the String class
  • Adding Internationalization and Localization
  • Summary
  • Exam Essentials

Exceptions and Assertions

  • Reviewing Exceptions
  • Creating Custom Exceptions
  • Using Multi-catch
  • Using Try-With-Resources
  • Rethrowing Exceptions
  • Working with Assertions
  • Summary
  • Exam Essentials


  • Introducing Threads
  • Creating Threads with the ExecutorService
  • Synchronizing Data Access
  • Using Concurrent Collections
  • Working with Parallel Streams
  • Managing Concurrent Processes
  • Identifying Threading Problems
  • Summary
  • Exam Essentials


  • Understanding Files and Directories
  • Introducing Streams
  • Working with Streams
  • Interacting with Users
  • Summary
  • Exam Essentials


  • Introducing NIO.2
  • Interacting with Paths and Files
  • Understanding File Attributes
  • Presenting the New Stream Methods
  • Comparing Legacy File and NIO.2 Methods
  • Summary
  • Exam Essentials


  • Introducing Relational Databases and SQL
  • Introducing the Interfaces of JDBC
  • Connecting to a Database
  • Obtaining a Statement
  • Executing a Statement
  • Getting Data from a ResultSet
  • Closing Database Resources
  • Dealing with Exceptions
  • Summary
  • Exam Essentials

Appendix A

  • OCP 8 (1Z0-809)
  • Upgrade from Java 7 (1Z0-810)
  • Upgrade from Java 6 or lower (1Z0-813)

Appendix B

  • Enhancing the Java Language
  • Formatting and Parsing
  • Applying Locks
  • Working with Directories
  • Summary
  • Exam Essentials

Appendix C

  • Method Details
  • Intrinsic Locks
  • Interface Details
  • Class ThreadLocalRandom
  • Class RandomAccessFile
  • Enum StandardOpenOption
  • Enum FileVisitResult

Appendix D: How to Install JDK 8 (on Windows & Ubuntu)

  • Downloading JDK
  • Installing JDK on Microsoft Windows
  • Installing JDK on Ubuntu


Advanced Class Design

  • Using the final Keyword
  • Using the static Keyword
  • Using the implements and extends Keywords
  • Using the equals() method
  • Using the toString() Method
  • Using the hashCode() Method
  • Using the Enumerated Types
  • Using the Inner Classes
  • Using Anonymous Inner Classes
  • Using the Static Inner Classes
  • Using the Inner Classes Including the Nested Class

Design Patterns and Principles

  • Using the Singleton Classes
  • Using the Immutable Classes

Generics and Collections

  • Using an ArrayList Class
  • Using the Generic Class
  • Using the TreeSet Class
  • Using the TreeMap Class
  • Using the ArrayDeque Object
  • Using the java.util.Comparator Interface
  • Using the java.lang.Comparable Interface
  • Using the forEach() Method
  • Using the filter() method with Lambda Expression
  • Using the Method Reference in a Streams

Functional Programming

  • Using the UnaryOperator Interface
  • Using the Binary Version of Functional Interfaces
  • Using the Optional Classes
  • Using the Stream Classes Including the findFirst() and findAny() Methods
  • Using the flatMap() Method of the Stream API
  • Sorting of Collection Using the Stream API
  • Using the Search Methods of the Stream Classes
  • Using the Stream Data Method and Calculation Method
  • Using the peek() and map() Methods
  • Using the collect() Method

Dates, Strings, and Localization

  • Using the DateTimeFormatter Class
  • Using the Date-based and Time-based Events with TemporalUnit
  • Using Date and Time Across Time Zones
  • Using Instant, Period, and Duration
  • Using the Properties File
  • Using the Locale Class

Exceptions and Assertions

  • Creating Custom Exceptions and AutoCloseable Resources
  • Using the AutoClose Resources


  • Using the Runnable and ExecutorService Classes
  • Using the Callable Class
  • Using the synchronized Keyword
  • Using the java.util.concurrent Collections
  • Using Parallel Streams
  • Using the java.util.concurrent Collections
  • Using the Parallel Fork/Join Framework
  • Showing the Deadlock Condition


  • Reading and Writing Data from the Console Class
  • Using the FileInputStream and FileOutputStream Classes
  • Using the BufferedReader, File, FileReader, and FileWriter classes


  • Using the Stream API with NIO.2
  • Using the Path Interface
  • Using the Files Class


  • Understanding Database Management
  • Connecting to a Database

Why Do Learners Love This Course?

I got the opportunity to study the uCertify OCP Java SE 8 Programmer II course and LiveLab. I found it very helpful. You have a list of the topics with much examples and tutorial. One good thing to talk about is Knowledge Checks and you can test the examples online which is very good. The Oracle OCP Java SE 8 Programmer II course and LiveLab provide complete coverage of the 1Z0-809 exam objectives.

Mostafa Hasaneen
Mostafa Hasaneen
Senior Java Engineer

Any questions?
Check out the FAQs

Still have unanswered questions and need to get in touch?

Contact us now

USD 245

The exam consists of multiple choice questions.

The exam contains 85 questions.

150 minutes


  • Candidates must wait 14 days before retaking a failed proctored exam. (Registration will be allowed on the 14th day)
  • Candidates may retake an online non-proctored exam at any time.
  • Candidates may not retake a passed exam at any time.
  • Candidates may not retake a beta exam at any time.
  • Candidates are only allowed 4 attempts to pass an exam in a 12-month period.
  • Candidates must resubmit a failed Master Assignment within 30 days of receiving the notification of failing.

Oracle certifications have no expiration unless Oracle changes its policy.

OCP Java SE 8 Programmer II


Buy Now
scroll to top