You are previewing Oracle Certified Professional Java SE 8 Programmer Exam 1Z0-809: A Comprehensive OCPJP 8 Certification Guide.
O'Reilly logo
Oracle Certified Professional Java SE 8 Programmer Exam 1Z0-809: A Comprehensive OCPJP 8 Certification Guide

Book Description

This book offers a comprehensive guide for the Oracle Certified Professional Java SE 8 Programmer Exam. It starts by answering frequently asked exam questions followed by full coverage of exam topics with numerous programming and real-world examples.

Each chapter ends with practice exam questions and a quick summary that reviews key concepts covered in the chapter from the OCPJP exam perspective. The book ends with a full-length, mock exam to ensure you have enough practice before actually taking the exam.

If you are an OCPJP 8 exam aspirant, this book is certainly for you. The book assumes you’re already familiar with Java fundamentals, which is in keeping with the prerequisite for having a OCAJP 8 certification.

You’ll enjoy reading Oracle Certified Professional Java SE 8 Programmer Exam 1Z0-809 because of its clear, simple language; example driven approach; easy-to-read style; and complete focus on the exam requirements.

A few of the key features of the book include:

  • In-depth and 100% coverage of all 12 exam topics for the certification
  • Numerous illustrative programming and real-world examples
  • Hundreds of practice exam questions (including a full-length mock exam)
  • Table of Contents

    1. Cover
    2. Title
    3. Copyright
    4. Dedication
    5. Contents at a Glance
    6. Contents
    7. About the Authors
    8. About the Technical Reviewer
    9. Acknowledgments
    10. Introduction
    11. Chapter 1: The OCPJP 8 Exam: FAQ
      1. Overview
        1. FAQ 1. Can you provide details of the Java associate and professional exams for Java 8?
        2. FAQ 2. Can you compare the specifications of the exams targeting OCAJP 8 and OCPJP 8 certifications?
      2. Details About the Exam
        1. FAQ 3. OCAJP 8 certification is a prerequisite for OCPJP 8 certification. Does that mean that I have to take the OCAJP8 exam before I can take the OCPJP8 exam?
        2. FAQ 4. How does the OCPJP 8 exam differ from the older OCPJP 7 exam?
        3. FAQ 5.Should I take the OCPJP8 exam or earlier versions such as the OCPJP 7 exam?
        4. FAQ 6. What kinds of questions are asked in the OCPJP 8exam?
        5. FAQ 7. What does the OCPJP 8 exam test for?
        6. FAQ 8. I’ve been a Java programmer for the last five years. Do I have to prepare for the OCPJP 8 exam?
        7. FAQ 9. How do I prepare for the OCPJP 8 exam?
        8. FAQ 10. How do I know when I’m ready to take the OCPJP 8 exam?
      3. Taking the Exam
        1. FAQ 11. What are my options to register for the exam?
        2. FAQ 12. How do I register for the exam, schedule a day and time for taking the exam, and appear for the exam?
        3. FAQ 13. What are the key things I need to remember before taking the exam and on the day of exam?
    12. Chapter 2: Java Class Design
      1. Encapsulation
      2. Inheritance
      3. Polymorphism
        1. Runtime Polymorphism
        2. Method Overloading
        3. Constructor Overloading
        4. Overload Resolution
        5. Points to Remember
      4. Overriding Methods in Object Class
        1. Overriding toString() Method
        2. Overriding equals() Method
        3. Object Composition
        4. Composition vs. Inheritance
      5. Singleton and Immutable Classes
        1. Creating Singleton Class
        2. Immutable Classes
      6. Using the “static” Keyword
        1. Static Block
        2. Points to Remember
      7. Summary
    13. Chapter 3: Advanced Class Design
      1. Abstract Classes
        1. Points to Remember
      2. Using the “final” Keyword
        1. Final Classes
        2. Final Methods and Variables
        3. Points to Remember
      3. Flavors of Nested Classes
        1. Static Nested Classes (or Interfaces)
        2. Inner Classes
        3. Local Inner Classes
        4. Anonymous Inner Classes
      4. Enum Data Type
        1. Points to Remember
      5. Interfaces
        1. Declaring and Implementing Interfaces
        2. Abstract Classes vs. Interfaces
      6. Lambda Functions
        1. Lambda Functions: Syntax
      7. Summary
    14. Chapter 4: Generics and Collections
      1. Creating and Using Generic Classes
        1. Diamond Syntax
        2. Interoperability of Raw Types and Generic Types
        3. Generic Methods
        4. Generics and Subtyping
        5. Wildcard Parameters
        6. Points to Remember
      2. Create and Use Collection Classes
        1. Abstract Classes and Interfaces
        2. Concrete Classes
        3. The Map Interface
        4. The Deque Interface and ArrayDeque class
      3. Comparable and Comparator Interfaces
      4. Collection Streams and Filters
      5. Iterate Using forEach
      6. Method References with Streams
      7. Understanding the Stream Interface
        1. The Stream Pipeline
        2. Stream Sources
      8. Filtering a Collection
        1. Terminal Operations
      9. Summary
    15. Chapter 5: Lambda Built-in Functional Interfaces
      1. Using Built-in Functional Interfaces
        1. The Predicate Interface
        2. The Consumer Interface
        3. The Function Interface
        4. The Supplier Interface
      2. Primitive Versions of Functional Interfaces
      3. Binary Versions of Functional Interfaces
      4. The UnaryOperator Interface
      5. Summary
    16. Chapter 6: Java Stream API
      1. Extract Data from a Stream
      2. Search Data from a Stream
      3. The Optional class
        1. Creating Optional Objects
        2. Optional Stream
        3. Primitive Versions of Optional<T>
      4. Stream Data Methods and Calculation Methods
      5. Sort a Collection Using Stream API
      6. Save Results to a Collection
      7. Using flatMap Method in Stream
      8. Summary
    17. Chapter 7: Exceptions and Assertions
      1. Throwable and its Subclasses
        1. Throwing Exceptions
        2. Unhandled Exceptions
        3. The Throws Clause
        4. Points to Remember
      2. Try-with-Resources
        1. Closing Multiple Resources
        2. Points to Remember
      3. Custom Exceptions
      4. Assertions
        1. Assert Statement
      5. Summary
    18. Chapter 8: Using the Java SE 8 Date/Time API
      1. Understanding Important Classes in java.time
        1. Using the LocalDate class
        2. Using the LocalTime Class
        3. Using the LocalDateTime Class
        4. Using the Instant Class
        5. Using the Period Class
        6. Using the Duration Class
      2. Using the TemporalUnit Interface
      3. Dealing with Time Zones and Daylight Savings
        1. Using Time Zone–Related Classes
        2. Dealing with Daylight Savings
      4. Formatting Dates and Times
      5. Flight Travel Example
      6. Summary
    19. Chapter 9: Java I/O Fundamentals
      1. Reading from and Writing to Console
        1. Understanding Standard Streams
        2. Understanding the Console Class
        3. Formatted Output with the Console Class
        4. Points to Remember
        5. Getting Input with the Console Class
      2. Using Streams to Read and Write Files
        1. Character Streams and Byte Streams
        2. Character Streams
        3. Byte Streams
      3. Points to Remember
      4. Summary
    20. Chapter 10: Java File I/O (NIO.2)
      1. Using the Path Interface
        1. Getting Path Information
        2. Comparing Two Paths
      2. Using the Files Class
        1. Checking File Properties and Metadata
        2. Copying a File
        3. Moving a File
        4. Deleting a File
      3. Using the Stream API with NIO.2
      4. Summary
    21. Chapter 11: Java Concurrency
      1. Creating Threads to Execute Tasks Concurrently
        1. Creating Threads
        2. Thread Synchronization With synchronized Keyword
      2. Threading Problems
        1. Deadlocks
        2. Livelocks
        3. Lock Starvation
      3. Using java.util.concurrent.atomic Package
      4. Use java.util.concurrent Collections
        1. CyclicBarrier
        2. Concurrent Collections
      5. Using Callable and ExecutorService Interfaces
        1. Executor
        2. Callable and ExecutorService
      6. Use Parallel Fork/Join Framework
        1. Useful Classes in the Fork/Join Framework
        2. Using the Fork/Join Framework
      7. Points to Remember
      8. Use Parallel Streams
        1. Performing Correct Reductions
        2. Parallel Streams and Performance
      9. Summary
    22. Chapter 12: Building Database Applications with JDBC
      1. Introduction to JDBC
        1. Setting Up the Database
      2. Connecting to a Database
        1. The Connection Interface
        2. Connecting to the Database Using DriverManager
      3. Querying and Updating the Database
        1. Statement Interface
        2. ResultSet Interface
        3. Querying the Database
        4. Updating the Database
        5. Points to Remember
      4. Summary
    23. Chapter 13: Localization
      1. Locales
        1. The Locale Class
      2. Resource Bundles
        1. Using PropertyResourceBundle
        2. Using ListResourceBundle
      3. Loading a Resource Bundle
        1. Naming Convention for Resource Bundles
      4. Summary
    24. Chapter 14: Mock Exam
    25. Index