New OCP Java 17 Certification 1z0-829 Topics

Understanding OCP Java Certification Exam and LTS

Since past few years, the release cycle of Java has changed drastically. A new version of Java is released every six months and a new major version is released every three years. The major versions are known as LTS (Long Term Support) versions. These are called LTS because these versions will be maintained regularly for a long time. Companies are encouraged to use LTS versions in their production environment because only LTS versions will get any security updates or bug fixes for a long time even after newer versions are released. The last LTS release was Java 11, which was released in 2018 and it will be supported until 2026.

The latest release of Java 17 (released in Sep 2021) is important in this respect because it is an LTS release.

Oracle's Java Certification Exams (OCA/OCP) are also typically centered on the LTS release. As expected, Oracle has announced a new certification exam based on Java 17 with exam code 1Z0-829. Check out the topics required for this new Java 17 certification exam. As of this writing (April 2022), the exam is widely available for candidates to take. There are no prerequisites. Meaning, anyone can take it and you don't need any prior certifications to take this exam.

New topics in OCP Java 17 Certification 1Z0-829 Exam

As explained above the new OCAJP/OCPJP exams is based on Java 17 and includes new features released in Java 12 to Java 17. We observed with OCP Java 11 certification exams that the exam objectives did not merely include the fundamental aspects of Java. They also included topics and APIs that are not used by most Java developers but were considered important by Oracle. For example, Modules is indeed an important addition to Java but the modules functionality is not used much in regular Java development. However, the OCP Java certification exam included it most likely because Oracle wanted to promote this feature.

Given this history, we are not surprised to see several new features on the exam and also several deletions. The following is a list of changes that are apparant from the official exam objectives.

  1. Override methods, including that of an Object class.

    In the previous versions of the exam, the equals and hashcode methods were dropped. We still haven't seen questions on it in the exam.
  2. Switch Expression and no fall through behavior

    You can now use switch expressions to return a value. You can use a lambda-style syntax for your expressions, without the fall-through/break issues. For example:
    char grade = 'B';
    int marks = switch(grade) {
        case 'A' -> 90;
        case 'B' -> 80;
        case 'C' -> 70;
        case 'D' -> 60;
        default -> 50;
    };
    System.out.println(marks); //prints 80, not 50!
    


  3. Multiline Strings / Text blocks

    Instead of writing this:
    String htmlBefore = "<html>\n" +
                  "    <body>\n" +
                  "        Hello, world!\n" +
                  "    </body>\n" +
                  "</html>\n";
    
    You can now do this:
    String htmlNow =  """
                  <html>
                      <body>
                          Hello, world
                      </body>
                  </html>
                  """;
    
    We don't think you will get tricky questions on it but you will definitely see code that uses this new syntax.

  4. Records

    Records are a big and important addition to Java. They allow you to create data centric classes really quickly without too much boilerplate code. As expected, it is on the exam.

  5. Sealed classes

    Sealed classes introduce a fundamental change in the access control mechanism in Java. As expected, it is on the exam.

  6. instanceof and pattern matching

    instanceof is an important operator in Java but the previous versions of the exam did not include it. However, since this operator has been enhanced with pattern matching, the Java 17 exam includes it.

  7. API Changes - method additions - Date/Time API

    The OCP Java certification exam covers a lot of standard JDK classes for example, from java.util to java.time to java.sql packages. The API for classes from these packages is enhanced regularly and you may see questions on new methods added to such classes. We will make a list of such new and important methods soon.

    Interestingly, the Date/Time API was on the OCP Java 8 exam but was dropped in OCP Java 11 exam. It has been brought back on the Java 17 exam. The exam objectives include the whole family of Date/Time API classes in this statement, "Manipulate date, time, duration, period, instant and time-zone objects using Date-Time API".

    Although Math API has been added in the objectives, we haven't seen any question on it in the exam.


Topics that have been dropped from OCP Java 17 1Z0-829 exam

  1. Annotations
  2. Security
  3. Use generics, including wildcards - The objective was mentioned explicitly in OCP Java 11 but not in OCP Java 17 - Does it mean creation and usage of generic classes/methods is not on the exam anymore? Our content creators, who took the real 1z0-829 exam, have not seen such questions. Things will become clearer as more as more people take the exam.

Let us know what you think about these topics and their inclusion in the OCP Java 17 certification exam. If you think of an important topic that might be on the exam, do let us know.