New OCAJP 11 Certification Topics

THIS ARTICLE IS OUTDATED as of 1st Apr 2019.
Java 11 certification exams are now available and Oracle has published exam objective for Java 11 certification exams. Here is the comparison of Java 8 and Java 11 exam objectives.

Java 11 is already here but Java certifications are still stuck at Java SE 8 version. Oracle has mentioned in their customer support replies that new versions of Java certifications such as OCAJP and OCPJP might be released in the first or second quarter of 2019. The new OCAJP/OCPJP exams will most probably be based on Java 11 and will include new features released in Java 9 , Java 10, and Java 11.

If you are wondering how should you prepare for the new OCAJP 11 certification and what are the new topics that you might have to read for the new Java 11 certification exams, read on. We have been following Java certifications for the past 15+ years and the following is a list of updates that you might see in the Java Certification syllabus for the new OCAJP 11 and OCPJP 11 certifications

Potential new topics covered in OCAJP 11

  1. private methods in interfaces

    You have already seen default and static methods in interfaces in Java 8. There was a serious shortcoming with these methods. If you have even a couple of default/static methods in an interface with a lot of common code, you cannot refactor the common code into a single helper method without exposing that helper method to the general public because interface rules require all methods in an interface to be public. Java 9 solves this problem by relaxing this rule. It allows you to have private methods in an interface. Since OCAJP 8 covers default and static methods, OCAJP 11 will most certainly require you to know about private methods as well.
  2. Collection Factory methods

    For example, Set<Integer> ints = Set.of(1, 2, 3); and List<String> strings = List.of("first", "second");

  3. New methods in Stream interface

    dropWhile, takeWhile, ofNullable and a new iterate method that allows you to provide a Predicate on when to stop iterating. For example, IntStream.iterate(1, i -> i < 10, i -> i + 1).forEach(System.out::println);

  4. Local variable type inferencing using "var"

    This basically reduces code clutter by allowing you to write var list = new ArrayList<String>(); instead of ArrayList<String> list = new ArrayList<String>();

  5. Launch Single-File Source-Code Programs

    This feature allows you to directly run a Java source file instead of you having to compile it first. Since the OCAJP exam focuses on the basics of compiling and running a Java program, we think this is an important feature to cover in OCAJP 11.

  6. New methods in String class

    Strings have always been a strong focus area in OCAJP certification. Therefore, OCAJP 11 will most probably test you on new methods isBlank(), lines(), repeat(int), strip(), stripLeading(), stripTrainling(). You would also be required to know how strip() is different from trim().

  7. New method in Predicate

    Since OCAJP 8 covers Predicate, OCAJP 11 will most likely test you on the new Predicate.not(Predicate ) method as well, which returns a predicate that is the negation of the supplied predicate.

Potential new topics for OCPJP 11:

Since OCPJP 11 is an advanced level certification, it will most likely include updates to the i/o classes, Streams API, and Collections API. There are some interesting new methods in, FileWriter, FileReader, and InputStream classes which might be covered in OCAJP 11.

Remember that OCAJP 11 and OCPJP 11 have not been released yet and the above changes are purely speculation.