Message from the Authors: Read The 1Z0-819 Exam page to learn how you can easily use this book to prepare for Oracle’s 1Z0-819 Exam, as well as the 1Z0-817 Upgrade Exam.
Scott Selikoff and Jeanne Boyarsky developed a two-part study guide for the new Oracle Certified Professional (OCP), Java SE 11 Programmer exams, 1Z0-819. The second book, OCP Oracle Certified Professional Java SE 11 Programmer II Study Guide is published by Wiley Publishing. It can so be used by itself to prepare for the 1Z0-817 Upgrade Exam.
We are using this blog to publish information about the book such as objectives changes and any errata found within the book. To report an error in the book that is not yet listed here, please create a thread in the OCP forum and include “Sybex 816” (or 817) in the subject.
For more information, visit Oracle’s Java SE 11 Exam page. If you have any questions for us, feel free to post in the OCP forum at CodeRanch which Scott and Jeanne visit frequently.
Key links
- Check the latest score/duration/objectives
- Upgrade exam official page (check the latest score/duration/objectives)
- CertView (register for the test and check your score) and ID requirements. See blog on how to register (English) or blog on how register (other languages)
- OWASP Top 10
- Egregious Eleven
- Chapter 6 GitHub Examples
- Appendix A GitHub Examples
- Download Java 11 from Oracle
- Appendix GitHub Examples
- Chapter 6 GitHub Examples
- How to access the online mock exams
Where to buy it
Length/score
Oracle has a tendency to change this information from time to time. See the exam metadata.
Changes to the objectives
- None so far
Online Material
- None so far
Blog posts related to OCP Oracle Certified Professional Java SE 11 Programmer II Study Guide:
- Chapter 10 Derby Database Setup for Prepared Statement Section
- Chapter 10 HSQL Database Setup for Callable Statement Section
Errata
All known errors are listed here. To report a potential error, please create a thread at https://coderanch.com/f/24/java-programmer-OCPJP. Be sure to include “Sybex 816” and the chapter and/or page number in the subject.
Page | Chapter | Error | Reporter | Confirmed |
iv | Intro | #13 explanation -“Line 10 includes” should be “Line 9 includes” | Olivia Johnson | 2/21/21 |
21 | 1 | In Table 1.1, “Final” should be “final” | Scott Selikoff | 7/3/20 |
41 | 1 | “required when using the parameter name” should be “required when using the parameter type | Ronaldo Rosa | 7/4/21 |
44 | 1 | new Outer.new Inner() should be new Outer().new Inner() | Jesse Silverman | 11/13/20 |
49 | 1 | #10 – Remove all references to the Wild interface | Oksana Cherniavskaia | 8/19/20 |
50 | 1 | #11 – Remove the line numbers | Daniel Fernandez Boada | 11/11/21 |
53 | 1 | In question 16, option D, should be “Transport”, not “Transport” | Tomasz Kasprzyk | 10/18/20 |
88 | 2 | Both instances of @SafeVargs should be @SafeVarargs | Pavel Serebriakov | 8/19/20 |
89 | 2 | In the middle page “@SafeVarargs annotation to line 4” should be “@SafeVarargs annotation to line 3” | Tomasz Kasprzyk | 10/18/20 |
93 | 2 | In the summary, “depreciation” should be “deprecation” | Karsten Thoms | 7/4/21 |
98 | 2 | #13 – “optional annotation” should be “optional annotation element” | Pavel Serebriakov | 8/19/20 |
124 | 3 | Set.of(‘z’, ‘o’, ‘o’) should be Set.of(‘z’, ‘o’, ‘O’) | Charles O’Leary | 9/3/20 |
129 | 3 | “It is not true that you can pass “any number of pairs” should be “up to 10 pairs” | João Lopes | 3/4/23 |
129 | 3 | In the second paragraph, “This code compiles but throws an error at runtime” is incorrect because Map.of() does not take a varargs. This sentence should be “This code does not compile’ | Jos Roseboom | 9/19/20 |
129 | 3 | Map.entry(“key1”) should be Map.entry(“key2”) on the second line | Charles O’Leary | 9/4/20 |
130 | 3 | The merge() method takes a BIFunction, not a Function | Vasiliy Spodin | 9/1/20 |
130 | 3 | In Table 3.7, forEach() and merge() have parens instead of <> around the generics | Taiwo Ajayi | 6/29/22 |
136 | 3 | In the real world scenario, “Queue” should be “List” | Mourid Smida | 11/22/22 |
137 | 3 | In the third paragraph “a class called Comparator” should be “an interface called Comparator” | Oksana Cherniavskaia | 8/22/20 |
147 | 3 | Near the middle of the page “class Duck cannot be cast” should be “class Rabbit cannot be cast” | Vladimir Prud | 8/19/20 |
150 | 3 | In the last line of code on the page, “SizeLimiteCrate” should be “SizeLimitedCrate” | Tomasz Kasprzyk | 10/18/20 |
163 | 3 | “Character is autoboxed into char” should be “Character is unboxed into char” | Emmanuel Szpiega | 7/4/22 |
221 | 4 | In the middle of the page “The other methods would return an empty optional” is incorrect. getMin() and getMax() return MAX_VALUE and MIN_VALUE respectively. And average returns 0.0 | Javid Asgarov | 7/3/21 |
227 | 4 | “Collectors interface” should be “Collectors class” | Amir Shah | 12/26/20 |
294 | 5 | In the 2nd exam essentials “as well as a try statement with a finally block” should be removed | Oksana Cherniavskaia | 8/20/20 |
various | 6 | There are a few references to only having one service provider implementation in a module. This is incorrect. (However, you do not need to know how to use multiple for the exam) | Vasiliy Spoden | 9/19/20 |
310 | 6 | “memorize as many command-line options for the 1Z0-815 exam” should be “memorize as many command-line options for the 1Z0-816 exam” | Scott Selikoff | 6/21/20 |
310 | 6 | “Derivative” should be “Directive” in the Table 6.1 header | Borislav Mirchev | 7/3/21 |
315 | 6 | “do not export any packages to named or automatic modules” should be “do not export any packages to named modules” | Hans-Joachim Bleichenbacher | 7/4/22 |
325 | 6 | Bullet 4 should say “next-highest level” rather than “next-lowest level” | Tomasz Kasprzyk | 10/18/20 |
326 | 6 | The sentence before figure 6.9 should say “the new module zoo.tickets.etech” not “the new module zoo.tickets.discount” | Jos Roseboom | 9/19/20 |
328 | 6 | At the bottom of the page, “models make up” should be “modules make up” | Tomasz Kasprzyk | 10/18/20 |
329 | 6 | In figure 6.10, the arrow from service provider interface to service provider is the wrong way. | Jeanne Boyarsky | 7/10/20 |
329 | 6 | In figure 6.10 “reservation” should be “reservations” | Emmanuel Szpiega | 7/4/22 |
330 | 6 | In the last paragraph “provides a ServiceLocator” should be “provides a ServiceLoader” | Vasiliy Spodi | 8/19/20 |
342 | 6 | #14 – Options D, E, and F should say “magic.helper” instead of “magic.util” | Edmond Yong and Oksana Cherniavskaia | 8/27/20 |
356 | 7 | In the third paragraph, “results are guaranteed to be executed sequentially” should be “tasks are guaranteed to be executed sequentially” | Matus Iglarcik | 12/26/20 |
358 | 7 | In the last row of Table 7.1, remove the last sentence (about returning a Future) | Brad Bouquio | 8/19/20 |
362 | 7 | In the first sentence of “Submitting Task Collections”, Table 7.2 should be Table 7.1 | Jos Roseboom | 9/19/20 |
375 | 7 | The header “Applying a ReentrantLock Interface” should be “Applying a ReentrantLock” | Jos Roseboom | 9/19/20 |
376 | 7 | I the table “until lock is required’ should be “unit lock is acquired” | Taiwo Ajayi | 4/30/22 |
414 | 7 | #20. The ExecutiveService reference should be initialized with a service value when it is created (rather than null) so that it is effectively final and can be used inside the lambda. | Roy van Rijn | 1/3/22 |
436 | 8 | “void void” should be “void” in the first line | Vladimir Prud | 9/1/20 |
439 | 8 | In Table 8.4, void write(int) should be void write (int b) | Tomasz Kasprzy | 11/13/20 |
441 | 8 | In the second paragraph, copy() should be copyFile() | Nyeng Gyang | 7/17/21 |
453 | 8 | The first paragraph on the page about wrapping a low-level file stream class should be removed | Alejandro Vizcaino | 10/10/22 |
454 | 8 | The four method signatures at the end should have the … before args | Matus Iglarcik | 12/26/20 |
463 | 8 | The second to last line should say “characters”, not “digits” | Daniel Polách | 10/18/20 |
469 | 8 | #10. Option F should include that an instance member could also be null. | Roy van Rijn | 1/3/22 |
469 | 8 | #11 – deleteTree(“/storage”) should be deleteTree(new File(“/storage”)) in the question. Give yourself credit if you answered option F. | Jos Roseboom | 9/19/20 |
473 | 8 | #22 “line 15” should say “line 17” | Jos Roseboom | 9/19/20 |
480 | 9 | public URI toURI() should be public URI toUri() | Joel Kaze | 2/14/21 |
491 | 9 | In the tip “Files.resolve()” should be “resolve()” | Jos Roseboom | 9/19/20 |
491 | 9 | At the bottom of the page, relativize(), should be relativize(Path path) | Joel Kaze | 2/14/21 |
494 | 9 | In table 9.3, toURI() should be toUri() | Edmund Yong | 9/19/20 |
494 | 9 | In table 9.3, relativize() should be relativize(Path) | Dario Orescanin | 10/18/20 |
497 | 9 | In the first paragraph, “cobra is a symbolic link to snake” should be “snake is a symbolic link to cobra” | Tomasz Kasprzyk | 11/13/20 |
511 | 9 | In the second to last paragraph “Steam” should be “Stream” | Jos Roseboom | 9/19/20 |
512 | 9 | The last line should say “Total Size”, not “Total Directory Tree Size” | Umur Poyraz | 12/7/21 |
514 | 9 | In table 9.6, the third to last line should be /birds/robin/allBirds/robin/allBirds | Daniel Odrinski | 12/17/23 |
514 | 9 | In the fifth row of table 9.6, “nest.gif” would be “wings.gif” | Jos Roseboom | 9/19/20 |
548 | 10 | In table 10.4, all of the wrapper classes should be changed to primitives | Tomasz Kasprzyk | 11/13/20 |
568 | 10 | In question #8, the SQL should reference the animal table rather than the names table | Tomasz Kasprzyk | 11/13/20 |
596 | 11 | In table 11.2, ObjectInputStream and ObjectOutputStream should be swapped | Ilenia Salvadori | 9/19/20 |
599 | 11 | In the code block, the getOrder() method should be static | Tomasz Kasprzyk | 11/13/20 |
Various | Appendix | All references to “zoo.animals” should be “zoo.animal” | Jeanne Boyarsky | 6/17/20 |
676 | Chapter 6 answer | #9 – The answer should be H and “–internal-jdk” should be “jdk-internals” | Mustafa Iilkkan | 7/18/20 |
677 | Chapter 6 explanation | #15 – “The service provider must” should be “The service locator must” | Edmund Yong | 8/22/20 |
680 | Chapter 7 Explanation | #14 – The answer is correct. Option C would not be correct though i the method were fixed because service is not effectively final. | Tomasz Kasprzyk | 10/18/20 |
681 | Chapter 7 Explanation | #22 – sheepCount2 should be s2 | Vitaliy Kotov | 1/5/22 |
687 | Chapter 9 Answer | #11 – give yourself credit if you answered E (But knowing that is out of scope) | Oksana Cherniavskaia | 7/19/20 |
688 | Chapter 9 Answer | #22 – The correct answer is C and E. APPEND throws an exception if the file does not exist | Matus Iglarcik | 12/26/20 |
691 | Chapter 11 answer | #6 – A is not correct. clone() is protected, not public | Alejandro Vizcaino | 10/10/22 |
Test bank | 1 | The question about which module “can reference classes” in another module has the wrong answer. E and F are also correct. | Fabio Salvi | 8/19/20 |
Test bank | 1 | The question with r.negate() should also have BiPredicate as a correct answer | Samuel Silver Moos | 1/26/21 |
Test bank | 2 | The question with the functional interfaces should accept Double Consumer as a correct answer | Will Easter | 10/11/21 |
Flashcards | The flashcard about get() should be Supplier as the answer | Guerchi Lucio | 12/26/20 |