OCP17 – 1z0-829

Summary

UPDATE18th-November-2021 – Comparison of the objectives between 1z0-819 an 1z0-829 exams.
https://coderanch.com/t/746888/certification/Java-Java

Current choice is to do the 1z0-819 exam or to do the 1z0-829 exam.

Main Certification 1z0-817 topics

These are the topics that this exam covers and that are required to pass the exam:

Main Certification 1z0-819 topics

Taking into account that the 1z0-817 will be removed here are the other chapters related to 1z0-819:

  • Annotations
    • Purpose and typical annotations usage
    • Apply annotaions to classes and methods
    • Describe commonly used annotations in the JDK
    • Declare custom annotations
  • I/O
    • Read data from and write console and file data using I/O streams
    • Use I/O Streams to read and write files
    • Read and write objects by using serialization
  • JDBC
    • Connect to databases using JDBC URLs and DriverManager
    • Use PreparedStatement to perform CRUD operations
    • Used PreparedStatement and CallableStatement APIs to perform database operations
  • Security
    • Prevent Denial of Servoce in Java applications
    • Secure confidential information in Java application
    • Prevent external attack of the code by limiting Accessibility and Extensibility, properly handling input validation and mutability
    • Secure constructing sensitive objects
    • Secure Serialization and Deserialization

Main Certification 1z0-829 exam topics

  • Handing date, time, text, numeric and boolean values
    • Use primitives and wrapper classes including Math API, parentheses, type promotion, and casting to evaluate arithmetic and boolean expressions
    • Manipulate text, including text blocks, using String and StringBuilder classes
    • Manipulate date, time, duration, period, instant and time-zone objects using Date-Time API
  • Controlling Program Flow
    • Create program flow control constructs including if/else, switch statements and expressions, loops, and break and continue statements
  • Utilizing Java Object-Oriented Approach
    • Declare and instantiate Java objects including nested class objects, and explain the object life-cycle including creation, reassigning references, and garbage collection
    • Create classes and records, and define and use instance and static fields and methods, constructors, and instance and static initializers
    • Implement overloading, including var-arg methods
    • Understand variable scopes, apply encapsulation, and make objects immutable.
    • Use local variable type inference, including using it to define lambda parameters
    • Implement inheritance, including abstract and sealed classes.
    • Override methods, including that of an Object class.
    • Utilize polymorphism and type casting, and differentiate object type versus reference type.
    • Identify object types using instanceof operator and pattern matching
    • Create and use interfaces, identify functional interfaces, and utilize private, static, and default interface methods
    • Create and use enumerations with fields, methods and constructors
  • Handling Exceptions
    • Handle exceptions using try/catch/finally, try-with-resources, and multi-catch blocks, including custom exceptions
  • Working with Arrays and Collections
    • Create Java arrays, List, Set, Map and Deque collections, and produce, remove, update, retrieve and sort their elements
  • Working with Streams and Lambda expressions
    • Use Java object and primitive Streams, including lambda expressions implementing functional interfaces, to produce, filter, transform, consume, and sort data
    • Perform decomposition, concatenation and reduction, and grouping and partitioning on sequential and parallel streams
  • Package and deploy Java code and use the Java Platform Module System
    • Define modules and expose module content including through the use of reflection, and declare module dependencies, define services, providers and consumers
    • Compile Java code, produce modular and non-modular jars, runtime images, and implement migration using unnamed and automatic modules
  • Manage concurrent code execution
    • Create worker threads using Runnable and Callable, manage the thread lifecycle, including automations provided by different Executor services and concurrent API
    • Develop thread-safe code, using different locking mechanisms and concurrent API
    • Process Java collections concurrently and utilise parallel streams.
  • Use Java I/O API
    • Read and write console and file data using I/O Streams
    • Serialize and de-serialize Java objects
    • Construct, traverse, create, read, and write Path objects and their properties using java.nio.file API
  • Access databases using JDBC
    • Create connections, create and execute basic, prepared and callable statements, process query results and control transactions using JDBC API
  • Implement Localization
    • Implement localization using locales, resource bundles, parse and format messages, dates, times, and numbers including currency and percentage values

Recommended books

1z0-829 exam

When it was available, we will also use this book for the 1z0-829 exam and this one for the mock tests.

1z0-819 exam

We want to use this book OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide: Exam 1Z0-815 and Exam 1Z0-816. It can be used also for the Upgrade Exam 1Z0-817.

More information by one the author’s book can be found here:
https://www.selikoff.net/2019/03/17/my-experience-taking-the-new-java-se-11-programmer-i-1z0-815-exam/

Other resources

Java 17

Java 11