Java OCP 8 Programmer II Study Guide

OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z1-809

Jeanne Boyarsky and Scott Selikoff developed a study guide for the new Oracle Certified Professional (OCP), Java SE 8 Programmer exam. The book, OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z1-809 is published by  Wiley Publishing.

Oracle published three variations on the exam, depending on which certification you previously hold:

  • 1Z0-809: For those who passed the OCA 8 [1Z0-808] exam
  • 1Z0-810: For those who passed an OCP 7 [1Z0-804 or 1Z0-805] exam
  • 1Z0-813: For those who passed an Java 6 or earlier exam

Passage of any of these three exams, along with their prerequisites, grants the OCP title. Our book includes information for passing all three exams, including a customized Appendix for those taking the Java 6 or earlier version of the OCP 8 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 enisted here, please create a thread in the OCP forum and include “Sybex OCP Java 8 Study Guide” in the subject.

Key links

Where to buy it

Length/score

Oracle has a tendency to change this information from time to time. As of May 22, 2017:

  • Length: 2 hours (was 2.5 hours util August 2022)[1Z0-809, 1Z0-810], 130 minutes [1Z0-813]
  • # Questions: 68 (was 85 until August 2022) [1Z0-809], 60 [1Z0-810], 60 [1Z0-813]
  • Passing score: 65% [1Z0-809, 1Z0-810], 63% [1Z0-813]

Changes to the objectives since the exam was launched

Not an objective, but Oracle made certain objectives about the exam explicit. See this thread for the text

Exam affected When change occurred Description of change Impact of Change
1Z0-809 (main OCP 8 exam) October 2015 The merge() method of the Stream API was removed from the objectives list. It is still on the upgrade exam. I would recommend learning it anyway for the main exam because it is useful API and they might have left the questions on the exam despite removing the objectives.
1Z0-810 (upgrade exam from Java 7) November 2015 The merge() method of the Stream API was removed from the objectives list. It’s still on the upgrade exam for Java 6 or lower, but not for people upgrading from Java 7. I’m guessing this will change shortly. Will update this table when it happens.
1Z0-813(upgrade exam from Java 6 or earlier) March 2016 “Use collections from the java.util.concurrent package with a focus on the advantages over and differences from the traditional java.util collections” changed to “”Use classes from the java.util.concurrent package including CyclicBarrier and CopyOnWriteArrayList with a focus on the advantages over and differences from the traditional java.util collections” The new objective is more specific, but still leaves room for other classes to be tested.

Online Materials

Blogs posts related to OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z1-809:

Errata

The table is sortable so you can see focus on the errata by criticality, chapter or see the ones added since you last checked. To report a potential error, please create a thread at http://www.coderanch.com/forums/f-24/java-programmer-SCJP. Be sure to include “Sybex” and the chapter and/or page number in the subject.

Online materials:

Page Chapter # Error Type of error Reported by/via Confirmed on Listed on Wiley’s errata
xxxix Assessment #3 – On line 15, “public void main” should be “public static void main”. As written, none of the answers are correct Typo Dominik Bauer 2016-02-18 Pending
xxxix Assessment #3 – On line 2, “public class Tail” should be “class Tail.” Typo Antonius Sopian 2016-06-01 Pending
xliii Assessment #11 – Options C and D should have x-> x++ as the lambdas. The extra > is a typo. Typo Juerg Bauman 2018-05-20 Pending
xlv Assessment #14 – The RainException class should be static and the import for Scanner should be present Error in question Peter Duke 2017-10-15 Pending
xlix Assessment #16 – the answer is correct. The explanation reverses what is in variables d and p. Typo Mathias Bader 2016-01-24 Pending
xlvii Assessment #20 – Choice B has a stray “B” at the beginning of the answers Rendering error Guillaume Bailly 2016-02-27 Pending
3 Chapter 1 Missing space between “CatAdmirer.” and “protected” in the first line of the last paragraph, as these should be part of two sentences. Typo Scott Selikoff 2015-12-14 Pending
3 Chapter 1 In the code example, “Lynx extends BigCat” should be “Lynx extends cat.BigCat” Typo Igor Soudakevitch 2016-12-31 Pending
9 Chapter 1 At the bottom of the page public abstract void feed(); should not have a stray } on that line. Typo Guillaume Bailly 2016-02-27 Pending
12 Chapter 1 In the second (middle) code example on the page “boolean b” should be omitted. It still belongs in the third example as that is intended to not compile Typo Igor Soudakevitch 2017-01-02 Pending
16 Chapter 1 In the second paragraph, “Line 12 could have been” should be “Line 13 could have been” Typo João Victor Gomes 2017-07-18 Pending
17 Chapter 1 At the end of the page, the equals method should check for “instanceof Lion” not “instanceof LionEqualsBuilder” Typo Mathias Bader 2016-01-24 Pending
22 Chapter 1 Line 9 in the code example at the bottom of the page should be } } rather than } ] Typo Jeanne Boyarsky 2015-12-19 Pending
24 Chapter 1 Near the end of the page “There are four of types” should be “there are four types” Typo T Vergilio 2016-02-13 Pending
25 Chapter 1 The fourth bullet should end with “except for static final fields” Typo João Victor Gomes 2017-07-29 Pending
28 Chapter 1 The second bullet should end with “except for static final fields” Typo   2016-11-22 Pending
33 Chapter 1 In the sixth row of the table, “Can access local variables of the enclosing class” should be “Can access local variables of the enclosing method” and the columns saying “”No” should say “N/A” Typo Philippe De Neve 2018-11-18 Pending
35 Chapter 1 In the nested classes paragraph, the sentence about local inner classes should say “non-final static members” rather than “static members” Typo Igor Soudakevitch 2016-12-31 Pending
35 Chapter 1 In the overriding paragraph, “new or broader exceptions” should be “new or broader checked exceptions” Typo Igor Soudakevitch 2016-12-31 Pending
45 Chapter 1 #20: The two println() statements should be print() Typo Joris Cools 2016-05-03 Pending
49 Chapter 2 In the first paragraph “overriden method in the Eagle class” should be “overriding method in the Eagle class” Typo Layne Patel 2020-04-27 Pending
53 Chapter 2 In the first paragraph of the box, “if a class marked with” should be “if an interface marked with” Typo Javid Azimli 2015-12-16 Pending
53 Chapter 2 In the “Defining a Functional Interface” section, “the Sprint class” should be “the Sprint interface” in the paragraph after the code example Typo Thomas Campos 2016-07-18 Pending
53 Chapter 2 In the second to last paragraph, “it is recommend” should be “it is recommended” Typo Miguel Callejón 2017-03-25 Pending
54 Chapter 2 In the second to last paragraph, “the Dance method” should be “the Dance interface” and “the Crawl method” should be “the Crawl interface” Typo Ramya Subraamanian 2016-03-06 Pending
60 Chapter 2 In the sentence before the FromMatchingAnimals code example, “Predicate class should be Predicate interface” Typo Igor Soudakevitch 2017-01-06 Pending
61 Chapter 2 “public void main” should be “public static void main” Typo Guillaume Bailly 2016-02-27 Pending
65 Chapter 2 In the first code snippet Bird bird = (Fish) bird; should be Bird bird = (Bird) fish; Typo Onur Otlu 2016-04-25 Pending
75 Chapter 2 In the second two last paragraph, “Also, using method overloading” should be “Also, using method overriding”. Both are true in this case, but the section is about inheritance. Incorrect explanation Guillaume Bailly 2016-01-24 Pending
78 Chapter 2 In the third paragraph, “We also checked the return type” should be “We also checked the return value” Typo Donald Colvin 2017-07-15 Pending
80 Chapter 2 At the end of the first paragraph, “it used” should be “it is used” Typo Guillaume Bailly 2016-01-24 Pending
81 Chapter 2 In the last paragraph on the page, “such that that” should be “such that” Typo Guillaume Bailly 2016-01-24 Pending
83-84 Chapter 2 Two examples are missing a semi colon after the imports Typo Vlad Alin 2022-01-29 Pending
86 Chapter 2 On the last line “come in and added” should be “come in and add” Typo Guillaume Bailly 2016-02-27 Pending
91 Chapter 2 In the last paragraph, “Food interface” should be “Foot class” Typo Igor Soudakevitch 2017-01-06 Pending
95 Chapter 2 #2 – Add “(Pretend the line numbers are comments”) Error in question Artem Lovan 2016-09-02 Pending
98 Chapter 2 #10 “What is the result of the following code?” should be “What is the result of the following code assuming each interface is a separate file.” Typo Onur Otlu 2016-08-19 Pending
100 Chapter 2 #13 Choice B is missing the word “are” in “variables marked” Typo Seb Cano 2016-02-13 Pending
113 Chapter 3 In bullet two “static type” should be “generic type” Typo Philippe De Neve 2018-11-18 Pending
113 Chapter 3 On the second line of the real world scenario, “it will helpful” should be “it will be helpful” Typo Guillaume Bailly 2016-02-27 Pending
115 Chapter 3 In the last paragraph before the real word scenario, the second to last sentence should end with “with a compiler warning” rather than “with a compiler error” Typo Aurelien Gamet 2016-04-10 Pending
116 Chapter 3 One line 7 of the code, “List Unicorn” should be “java.util.List Unicorn” Typo Tomas Castagnino 2017-06-10 Pending
120 Chapter 3 In the paragraph after the code snippet, it should say “Line 7 doesn’t compile because we can’t add a Sparrow to List<? extends Bird>” not “List” Typo Peter Deak 2016-02-27 Pending
122 Chapter 3 In the “understand generic supertypes” box, the last paragraph has the wrong line numbers. “Line 4” should be “Line 5” and “Line 5” should be “Line 6” Typo Guillaume Bailly 2016-01-24 Pending
129 Chapter 3 The second to last paragraph should refer to Chapter 7 rather than Chapter 8 Typo Seb Cano 2016-02-13 Pending
130 Chapter 3 In table 3.4, the first should have a boolean return type. The sixth row should return E, not void. Typo Seb Cano 2016-02-13 Pending
131 Chapter 3 In the first paragraph, “Line 8 requests the element at index 2” should be “Line 8 requests the element at index 0”. Typo Aurelien Gamet 2016-04-12 Pending
133 Chapter 3 In the last example on the page, line 3 should say “TreeSet”, not “HashSet” Typo Thomas Campos 2016-01-01 Pending
133 Chapter 3 On line 8 of the second example, there should be a comma at the end of the comment Typo Marc-André Parent 2017-05-02 Pending
136 Chapter 3 In Table 3.5, the cell in “For queue” on the “push” row should say No. Also, in the line under the table, both references to “push” should be “push and pop” Factual error Guillaume Bailly 2016-01-24 Pending
136 Chapter 3 In the last paragraph, “(stack), people say push/poll/peek” should be “(stack), people say push/pop/peek” Typo Jan Sterk 2016-05-03 Pending
137 Chapter 3 In Figure 3.7, all references to “queue” should say “stack” Typo Thomas Campos 2016-01-01 Pending
137 Chapter 3 In the code on lines 16 and 17 along with i figure 3.7, poll() should be pop(). The output is the same, but a stack uses the pop() method. Typo Abdulaziz Akbary 2017-04-17 Pending
139 Chapter 3 In table 3.6, the third to last row should say (Object value) rather than (Object) Typo Salim Rahal 2016-08-19 Pending
139 Chapter 3 In table 3.6, “Returns value is in map” should be “Returns whether value is in map” Typo Guillaume Bailly 2016-02-27 Pending
145 Chapter 3 In the LegacyDuck example, java.util.Comparable should just be Comparable as it is in the java.lang package. For example, this means line 1 of the examples on page 144 and 145 should be changed to remove “java.util” Typo Mike Constantin 2016-01-08 Pending
146 Chapter 3 The statement about natural ordering should clarify that false has to be consistent too Factual error Jan Sterk 2016-05-03 Pending
149 Chapter 3 After the bigger code example, “squirrels are from the species” should be “squirrels are from the same species”. Typo T Vergilio 2016-01-27 Pending
152 Chapter 3 In the first example, r1.id = r2.id should be r1.id – r2.id Typo Ying Zhao 2016-01-08 Pending
154 Chapter 3 On the first line, “string.startsWith” should be “str.startsWith” Typo Lukas Machacek 2018-01-05 Pending
154 Chapter 3 In the first sentence of the last paragraph, “as long as long” should be “as long” Typo Sander Wamelink 2016-05-19 Pending
157 Chapter 3 In the last sentence change “requested key is found” to “requested key is found and the associated value is not null” Clarification Olivier Chalet 2016-05-27 Pending
158 Chapter 3 In the second paragraph, “or is null” should be “or value is null” Typo Layne Patel 2020-04-29 Pending
159 Chapter 3 In the last row of table 3.11, the functional interface Function should appear in the computeIfAbsent column and the functional interface BiFunction should appear in the computeIfPresent column Wrong API Ying Zhao 2016-01-08 Pending
159 Chapter 3 In table 3.12, the merge column of the first row should say “Update key’s value in map”. Incorrect fact Robert Friml and Ramya Subraamanian 2016-02-27 Pending
159 Chapter 3 In table 3.12, the merge column of “null value in map” should say “Set key to value” rather than “Set key to mapping function result” Incorrect fact T Vergilio 2016-04-10 Pending
159 Chapter 3 The computeIfAbsent column of row 2 should say “Set key to mapping function result” Incorrect fact Olivier Chalet 2016-05-27 Pending
160 Chapter 3 In the bullets for HashSet and HashMap, “hashcode” should be “hashCode” Typo Anton Shaikin 2016-02-27 Pending
160 Chapter 3 In the bullet for Hashtable, “hashmap” should be “HashMap” Typo Donald Colvin 2017-07-15 Pending
160 Chapter 3 In the last sentence of the second paragraph, “add or remove an item” should be “add an item” Typo Olivier Chalet 2016-05-27 Pending
161 Chapter 3 In the second paragraph, “Collection has a few methods” should be “Collections Framework has a few methods.” The idea was to include all the Collections types (Map has merge). Typo Anton Shaikin 2016-02-27 Pending
167 Chapter 3 #14 – All the dots in the answer choices should be commas Typo Mike Constanti 2016-01-11 Pending
169 Chapter 3 mock question #21 – The parenthesis should be be removed from all the answers. Typo T Vergilio 2016-01-27 Pending
170 Chapter 3 #24 – “prints outs” should be “print out” Typo Guillaume Bailly 2016-02-27 Pending
various Chapter 4 When showing the sample functional interfaces (Supplier, Consumer, BiConsumer, Predicate, BiPredicate, Function, BiFunction, UnaryOperator and BinaryOperator), we have “class” instead of “interface”. (Copy and paste typo error) Typo Thomas Campos 2015-12-16 Pending
178 Chapter 4 In the fourth paragraph, “capitalized in eggs” should be “capitalized in egg” Typo Nick Robinson 2018-05-20 Pending
181 Chapter 4 In the sentence after the bullet “about your answer is should be “what your answer is” Typo Kilian Reisenegger 2016-06-01 Pending
181 Chapter 4 In the third to last paragraph, “Line 6 passes one String parameter” should be “Line 6 passes one List parameter” Typo Rustam Alimuradov 2016-03-04 Pending
188 Chapter 4 In “Creating Stream Sources”, line 3 should say “count = 3” rather than “count = 2” Typo Javid Azimli 2016-01-17 Pending
191 Chapter 4 In the min/max section, the method signatures should be Comparator<? super T> comparator. The interface name was missing. Typo Mihaela Hetea 2016-01-24 Pending
192 Chapter 4 In the paragraph above the note, “On the infinite list” should be “On the infinite stream” and “If we called noneMatch() or allMatch(), they” should be “If we called allMatch(), it” Typo Bas Duineveld 2016-03-20 Pending
195 Chapter 4 In the second code example on the page, StringBuilder:append should be StringBuilder::append. A method reference needs two colons. Typo T Vergilio 2016-01-28 Pending
195 Chapter 4 “Java provides an interface with common collectors” should be “Java provides a class with common collectors” Typo Frenkel Smeijers 2019-15-25 Pending
197 Chapter 4 limit(int maxSize) should be limit(long maxSize) and skip(int n) should be skip(long n)
201 Chapter 4 Two paragraphs before Figure 4.5, “Then we then want them sorted.” should be “Then we want them sorted. “ Typo Anton Shaikin 2016-03-15 Pending
201 Chapter 4 Two paragraphs before Figure 4.5, “Then we want to first two” should be “Then we want the first two” Typo Guillaume Bailly 2016-01-31 Pending
201 Chapter 4 The formatted code block that begins with “stream.filter” should begin with “list.stream().filter” Typo Tomas Castagnin 2017-06-23 Pending
203 Chapter 4 “The source is an infinite stream of odd numbers” should be “The source is an infinite stream of numbers” Typo Mihaela Hetea 2016-01-24 Pending
203 Chapter 4 The second to last sentence should end with “allows its second element” rather than “prevents its second element” Typo Nick Robinson 2018-05-27 Pending
208 Chapter 4 In the second pargraph, “this function that takes an Object’ should have be “this function takes an Object” Typo Nick Robinson 2018-05-20 Pending
209 Chapter 4 In table 4.8, the last row should say average() instead of avg(). Also the paragraph preceding the table should have the same change. Typo Thomas Campos 2015-12-16 Pending
210 Chapter 4 In the second sentence of the last paragraph, “size” should be “sum”. Typo Onur Otlu 2016-12-31 Pending
212 Chapter 4 The top of the page should say Table 4.9 is continued rather than 4.10 Rendering error Javid Azimli 2016-02-03 Pending
213 Chapter 4 The fill in the blank example, “The only functional interface meeting all three of those criteria is DoubleToIntFunction” is not true. It should say “DoubleToIntFunction and ToIntFunction meet all three of these criteria. As does “ToIntFunction” Incomplete fact Peter Deak 2016-02-27 Pending
215 Chapter 4 In paragraph 2, “The filter than returns” should be “The filter then returns” Typo Guillaume Bailly 2016-01-31 Pending
218 Chapter 4 In the first sentence of the third to last paragraph, “Collector class” should be “Collector interface” Typo Olivier Chalet 2016-05-27 Pending
219 Chapter 4 In the first code example, filter(s -> s.startsWith(“t”) should be filter(s -> s.startsWith(“t”)). The close paren was missing. Typo T Vergilio 2016-01-28 Pending
219 Chapter 4 In the third paragraph, “implement of Set” should be “implementation of set” Typo Nick Robinson 2018-02-11 Pending
220 Chapter 4 The stack trace at the top of the page should say “Duplicate key 5” instead of “Duplicate key lions” Typo Jorge Ruiz-Aquino 2017-10-15 Pending
220 Chapter 4 At the end of the page, “class. java.util” should be “class java.util” Change in behavior Tim Moroz 2016-07-16 Pending
223 Chapter 4 The minBy example used to compile with earlier versions of Java 8, but no longer does. Change in behavior Mihaela Hetea 2016-01-31 Pending
223 Chapter 4 In the summary, “BiConsumer<T>” should be “BiConsumer<T,U>” and “BiPredicate<T>” should be “BiPredicate<T,U>” Change in behavior Marc-André Parent 2017-05-01 Pending
224 Chapter 4 In the first paragraph, “ifPresent()” should be “isPresent()”. Also in the second paragraph of exam essentials, “ifPresent” should be “isPresent”. While there is an ifPresent method, it takes a functional interface Typo T Vergilio 2016-01-28 Pending
224 Chapter 4 In the second paragraph getDouble() should be getAsDouble(), getInt(), should be getAsInt() and getLong() should be getAsLong. Typo Robert Frimi 2016-02-29 Pending
224 Chapter 4 In the second paragraph “DoubleSupplier, IntSupplier and LongSupplier” should be “OptionalDouble, OptionalInt and OptionalLong”. Typo Anton Shaikin 2016-03-18 Pending
224 Chapter 4 In the second sentence of the third paragraph, “they have range” should be “IntStream and LongStream have range” Typo Joel Fuhrmann 2017-07-01 Pending
225 Chapter 4 In “The flatmap() method flattens nested lists into a single level and removes empty lists”, both references to “lists” should be “streams”. Typo Aurelien Gamet 2016-04-15 Pending
227 Chapter 4 #4 – Answer D should say “after calling” rather than “after the calling” Typo A Wellner 2018-11-18 Pending
227 Chapter 4 #5 – “Stream class” should be “Stream interface” Typo T Vergilio 2016-01-28 Pending
228 Chapter 4 #9 – Options C and D should have a semicolon at the end. (Give yourself credit f you got the answer right other than D) Typo Nick Robinson 2018-05-27 Pending
240 Chapter 5 The second code block is missing a semicolon Typo Vlad Alin 2022-04-30 Pending
232 Chapter 5 #20 – Option C should be i->i not 1->i Typo  Javid Azimli 2016-07-23 Pending
240 Chapter 5 The second code block is missing a semicolon Typo Vlad Alin 2022-04-30 Pending
246 Chapter 5 Figure 5.1 got messed up in re-rendering. The code is supposed to say System.out.println(Period.of(1,2,3)); Rendering error Scott Selikoff 2015-12-17 Pending
248 Chapter 5 In the first sentence of the second paragraph, “Duration doesn’t have a constructor” should be “Duration doesn’t have a factory method” Typo T Vergilio 2016-04-10 Pending
249 Chapter 5 UnsupportedTemporalException should be UnsupportedTemporalTypeException in both code snippets Typo T Vergilio 2016-02-16 Pending
251 Chapter 5 In the first sentence, it should say “1:00 a.m. – 1:59 a.m.” rather than “2:00 a.m. – 2:59 a.m.” (the diagram on the previous page is correct) Typo John Schubert 2017-12-13 Pending
252 Chapter 5 “we really do move back only one hour at a time” should be “we really do move forward only one hour at a time” Typo Vlad Alin 2022-04-30 Pending
255 Chapter 5 In the second sentence after the code example, “a-bc” should be “a-bcde” Incorrect explanation Guillaume Bailly 2016-01-31 Pending
260 Chapter 5 In the first paragraph, “retrieve the right resource bundle” should be “retrieve the right string from the resource bundle”” Typo Donald Colvin 2017-07-18 Pending
261 Chapter 5 The line “name Vancouver Zoo” should be removed from near the bottom of the page Typo Onur Otlu 2016-11-05 Pending
263 Chapter 5 In the paragraph after the code block, “before the name of the class” should be “before the base name” Typo Ramya Subraamanian 2016-03-21 Pending
265 Chapter 5 In the list on top of the page, #1 and 2 should be reversed with #3 and 4. The requested locale when getting the bundle goes before the default locale. Typo Scott Selikoff 2015-12-17 Pending
265 Chapter 5 In the first paragraph, “start searching the bundles starting with step 6 in Table 5.7” should read starting with step 5 since that is where the default locale options start.. Typo Jeanne Boyarsky 2015-12-17 Pending
265 Chapter 5 For more details about table 5.8, see this thread. In particular the second row of table 5.8 is incorrect and explanation is missing. Incorrect fact Olivier Chalet and Onur Ontu 2016-05-27 Pending
271 Chapter 5 In Table 5.10, the second to last row should begin with ofLocalizedDateTime rather than OfLocalizedDateTime Typo Sander Wamelink 2016-05-20 Pending
272 Chapter 5 Before the list of symbols (MMMM etc), “not expected to memorize what the different numbers of each symbol mean” should be “not expected to memorize what every part of the format means” Typo T Vergilio 2016-01-31 Pending
280 Chapter 5 mock question #14: the last line of code should say date rather than date4 Typo Scott Selikoff 2015-12-17 Pending
280 Chapter 5 mock question #14: Should say “Choose all that apply” Typo Scott Selikoff 2015-12-17 Pending
282 Chapter 5 mock question #18: Choice A should have the missing closing parenthesis Typo T Vergilio 2016-01-31 Pending
287 Chapter 6 In table 6.2, the second row should point to Chapter 8 (or Chapters 8 and 9) Typo Scott Selikoff 2015-12-18 Pending
287 Chapter 6 In Table 6.3, the second row should refer to Chapter 5 rather than Chapter 3 Typo Nick Robinson 2018-02-11 Pending
296 Chapter 6 The second bullet should refer to line 14 rather than line 15 Typo Scott Selikoff 2015-12-18 Pending
298 Chapter 6 In Figure 6.5, the comment in the catch block should say “exception handler” Typo T Vergilio 2016-01-28 Pending
301 Chapter 6 “can called be” should be “can be called” Typo Guillaume Bailly 2016-01-31 Pending
302 Chapter 6 In the last sentence of the real world scenario “implementing AutoClosable” should be “extending AutoClosable” Typo T Vergilio 2016-02-18 Pending
various Chapter 6 DateTimeException and DateTimeParseException are not checked exceptions. Pretend they are for the purposes of this chapter as the examples misuse it. Incorrect fact Guillaume Bailly 2016-02-27 Pending
306 Chapter 6 In the third paragraph, “but really only a limited set” should be “but really only mean a limited set” Typo Peter Deak 2016-02-27 Pending
307 Chapter 6 The { at the end of the line for parseData() in the middle of the page should be removed Typo T Vergilio 2016-01-31 Pending
309 Chapter 6 Assertions.java:7 should be Assertions.java:4 in the example on the middle of the page. Typo Zita Farkas 2016-06-08 Pending
312 Chapter 6 The stack trace should refer to TestSeasons rather than TestSeason Typo Philippe De Neve 2018-11-18 Pending
312 Chapter 6 The case study should only contain the first two paragraphs and code in between. “The following example” part should be part of the main text. Rendering error/formatting Scott Selikoff 2015-12-21 Pending
312 Chapter 6 In the second line of the stack trace, it should say “test” instead of “main” Typo Guillaume Bailly 2016-01-31 Pending
314 Chapter 6 In the last sentence of the third summary paragraph, “expression is effectively final” should be “expression is implicitly final” Incorrect fact T Vergilio 2016-02-18 Pending
314 Chapter 6 In the last sentence, -enableassertin should be -enableassertions Typo Layne Patel 2020-04-29 Pending
319 Chapter 6 Mock question #9 – “when the number is negative” should be “when the number is positive” in the question Inverted question T Vergilio 2016-01-31 Pending
various Chapter 7 The Future interface is referred to as the Future class on multiple occasions Typo Ramya Subraamanian 2016-03-26 Pending
337 Chapter 7 In the real word scenario, “ExecutorService interface does not implement AutoCloseable” should be “ExecutorService interface does not extend AutoCloseable” Typo Brecht Geeraert 2019-08-21 Pending
339 Chapter 7 In the invokeAll() row of table7.2, “as a Collection of Future” should be “as a List of Future” Typo Ramya Subraamanian 2016-04-10 Pending
340 Chapter 7 In the second row and second column of Table 7.3, “completely” should be “completed” Typo Olivier Chalet 2016-05-27 Pending
340 Chapter 7 In Table 7.3, cancel() should have a boolean parameter for whether you may interrupt it while running Typo Mihaela Hetea 2016-02-06 Pending
343 Chapter 7 The main method on line 4 should declare throws IOException Typo Prateek Shaw 2017-05-06 Pending
346 Chapter 7 In the second paragraph, “that returns the delay set when the process was created” should be “that returns the remaining delay” Typo Philippe De Neve 2018-11-18 Pending
346-347 Chapter 7 In Table 7.5, “scheduleAtFixedDelay” should be “scheduleWithFixedDelay”. This same errors exists in the description on the following page Typo Mihaela Hetea 2016-02-06 Pending
347 Chapter 7 In two locations TimeUnit.MINUTE should be TimeUnit.MINUTES Typo Tim Moroz 2016-07-31 Pending
348 Chapter 7 “an available thread to become available” should be “a thread to become available” Typo Guillaume Bailly 2016-02-27 Pending
349 Chapter 7 TimeUnit.MINUTE should be TimeUnit.MINUTES in the example near the middle of the page Typo Miguel Callejónz 2017-05-01 Pending
352 Chapter 7 In the first sentence “before ones that started later” should be “before ones that started later” Typo Olivier Chalet 2016-05-27 Pending
352 Chapter 7 In figure 7.4, the arrows are pointing the wrong way for “Reads sheepCount as 2” and “Writes sheepCount as 3” Rendering error Scott Selikoff 2016-12-23 Pending
353 Chapter 7 In table 7.8, the header should be “Method Name” rather than “Class Name” Typo Salim Rahal 2016-08-19 Pending
359 Chapter 7 In the second to last paragraph “iterator keyset()” should be “iterator keySet()” Typo Miguel Callejónz 2017-05-01 Pending
361 Chapter 7 In the third paragraph, “ensure that object” should be “ensure that an object” Typo Nick Robinson 2018-05-27 Pending
365 Chapter 7 On the third line of the page, “These methods, defined in the Collections class, contain synchronized methods that operate” should be “These synchronized methods are defined in the Collections class and operate” Typo Guillaume Bailly 2016-02-27 Pending
368 Chapter 7 In the last paragraph in the box, “stream operations that occur before/after” should be “stream operations that occur before” Incorrect fact Guillaume Bailly 2016-02-27 Pending
371 Chapter 7 In the middle of the page, “Let’s take a look an example” should be “Let’s take a look at an example” Typo Guillaume Bailly 2016-02-27 Pending
372 Chapter 7 In the second paragraph, “It strongly recommended” should be “It is strongly recommended” Typo Guillaume Bailly 2016-02-27 Pending
373 Chapter 7 In the last paragraph, “Recall that first” should be “Recall that the first” Typo Nick Robinson 2018-05-20 Pending
374 Chapter 7 At the top of the page c and s1 should be reversed. The code happens to work as is, but it is unclear Typo Guillaume Bailly 2016-02-27 Pending
375 Chapter 7 The section header “Combing results with collect()” should be “Combining results with collect()” Typo Guillaume Bailly 2016-02-27 Pending
377 Chapter 7 In the first sentence in the callout box, “in a parallel” should be “in parallel” Typo Nick Robinson 2018-05-20 Pending
377 Chapter 7 In the second sentence of the last paragraph, “needs to emptied” should be “needs to be emptied” Typo Teo Rajkumar 2016-03-15 Pending
382 Chapter 7 At the bottom of the page “implement the ForkJoinTask interface” should be “extend ForkJoinTask” Typo Guillaume Bailly 2016-02-27 Pending
384 Chapter 7 Middle of the page in code section, “ForkJoinPool pool pool = new ForkJoinPool();” has “pool” printed twice. Should be “ForkJoinPool pool = new ForkJoinPool();” instead. Typo Oscar Utbult 2016-03-02 Pending
386 Chapter 7 Middle of the page in code section, “ForkJoinPool pool pool = new ForkJoinPool();” has “pool” printed twice. Should be “ForkJoinPool pool = new ForkJoinPool();” instead. Typo Oscar Utbult 2016-03-02 Pending
390 Chapter 7 At the bottom of the page, “is often very difficult issue” should be “is often a very difficult issue” Typo Guillaume Bailly 2016-02-27 Pending
393 Chapter 7 In the fourth section” “ConncurrentDeque” should be “ConcurrentLinkedDeque” Typo T Vergilio 2016-04-10 Pending
396 Chapter 7 #9: “implements the ForkJoinTask interface” should say “extends the ForkJoinTask class” Typo T Vergilio 2016-02-02 Pending
397 Chapter 7 #9: Choice D contains a typo and doesn’t make sense as written. It should say “The code produces an infinite loop at runtime not the code produces a ForkJoinPool at runtime. Typo Scott Selikoff 2015-12-22 Pending
397 Chapter 7 #9: The cast to integer is missing on pool.invoke() Typo Vlad Alin 2023-03-04 Pending
402 Chapter 7 #19 – In choice D, “lock locks” should be “locks” Typo Guillaume Bailly 2016-02-07 Pending
404 Chapter 7 Option F is correct, but explanation indicates if line execute() was changed to submit() then Answer Option C would be correct. For this to be correct, the lambda for the executor service should be changed to: () -> {counter++;} Typo Tyoma Sakurakoji 2018-01-21 Pending
406 Chapter 8 In the second to last paragraph, the first sentence should begin with “A file is a record” rather than “A file is record”. Typo Seb Cano 2016-02-03 Pending
Various Chapter 8 Ignore the references to format being in chapter 5. You do not need to know String formatting on the exam. Old text Seb Cano 2016-02-20 Pending
408 Chapter 8 On the first like “with String containing” should be “with a String containing” Typo Donald Colvin 2017-07-21 Pending
408 Chapter 8 In the third sentence, “working directory to file or directory” should be “working directory to the file or directory” Typo Olivier Chalet 2016-05-27 Pending
410 Chapter 8 In the code example on the top of the page, the lines for “Is Directory” and “Parent Path” should be reversed to be consistent with the output Typo Tim Moroz 2016-05-27 Pending
414 Chapter 8 In the line before the code snippet, “FileWriter and BufferedWriter” should be “FileReader and BufferedReader” Typo Guillaume Bailly 2016-02-27 Pending
420 Chapter 8 In the example, the third line is.skip(2) is missing a semi-colon Typo Onur Otlu 2016-11-22 Pending
421 Chapter 8 In the second to last sentence of the second paragraph, “how many bytes can be read” should be “how many bytes were read” Typo Rustam Alimuradov 2016-03-04 Pending
421 Chapter 8 In the last paragraph, “will be overridden” should be “will be overwritten” Typo Donald Colvin 2017-07-22 Pending
422 Chapter 8 In the fourth paragraph, “if the value returned is 0” should be “if the value returned is -1” Typo Anton Shaikin 2016-05-19 Pending
425 Chapter 8 In the last sentence of the third paragraph, “to the all of the” should be “to all of the” Typo Olivier Chalet 2016-05-27 Pending
427 Chapter 8 In the last paragraph before the callout box, last sentence, ‘it will be need’ should be ‘it will need’ Typo Marc-André Parent 2017-11-04 Pending
430 Chapter 8 In the second sentence, ‘list data into memory’ should be ‘ list data in memory’ Typo Marc-André Parent 2017-11-04 Pending
441 Chapter 8 In the first paragraph, console.read() should be console.reader() Typo Seb Cano 2016-02-03 Pending
442 Chapter 8 In the line before the summary, “Array.fill” should be “Arrays.fill” Typo Guillaume Bailly 2016-02-27 Pending
447 Chapter 8 #10 – Remove the line numbers of the method. Typo Tyoma Sakurakoji 2019-01-27 Pending
various Chapter 9 You don’t need to know this for the exam, but read this about Windows differences and the uri/http protocols if you are curious. Windows testing Mihaela Hetea 2016-02-04 Pending
456 Chapter 9 On the last line “java.nio.files” should be “java.nio.file”. Typo Seb Cano 2016-02-02 Pending
457 and others Chapter 9 Paths.getPath() should be Paths.get(). This error occurs a few times in the chapter. Typo Seb Cano 2016-02-02 Pending
457-459 Chapter 9 All instances of “zoodirector” should be “zoodirectory” Typo Guillaume Bailly 2016-02-27 Pending
457 Chapter 9 In the last paragraph, System.getProperty(“path.separator”) should be System.getProperty(“file.separator”) Incorrect fact Peter Fodor 2016-05-29 Pending
458 Chapter 9 c:/zoo-info should be c:/zooinfo Typo Philippe De Neve 2018-11-18 Pending
458 Chapter 9 At the bottom of the page, the example might throwan exception depending on your operating system Windows testing Peter Deak 2016-02-27 Pending
459 Chapter 9 Path.getPath() should be Paths.get() in the first line of the Accessing the Underlying FileSystem object section Typo Seb Cano 2016-02-02 Pending
461 Chapter 9 In the third column of the last row of table 9.1, “Method using” should be “Methods using” Typo T Vergilio 2016-04-10 Pending
465 Chapter 9 At the bottom of the page, the last sentence is incorrect. You do not get a new Path object. You get the same path object Incorrect fact Guillaume Bailly 2016-02-27 Pending
468 Chapter 9 In the box, Path1.relativize(path3) should be path1.relativize(path2) Typo Guillaume Bailly 2016-02-27 Pending
469 Chapter 9 In the second to last paragraph, “normalize(Path)” should be “normalize” Incorrect fact Juerg Bauman 2016-02-27 Pending
469 Chapter 9 On the line before “Cleaning up a Path with normalize()”, “a copy of path2” should be “path2” Incorrect fact Guillaume Bailly 2017-11-30 Pending
470 Chapter 9 On the line before “Checking for File Existence with toRealPath()”, “exactly exist” should be “actually exist” Typo Guillaume Bailly 2016-02-27 Pending
470 Chapter 9 On the first line of the Checking for File Existence section, “toRealPath(Path)” should be “toRealPath()” Typo Seb Cano 2016-02-02 Pending
472 Chapter 9 in the first sentence of the third paragraph,’equal()’ should be ‘equals()’ Typo Marc-André Parent 2017-11-04 Pending
473 Chapter 9 In the second to last paragraph, /bison/pasture should be /bison/field/pasture Typo Guillaume Bailly 2016-02-07 Pending
475 Chapter 9 In the code example, the line immediately above the catch statement should say addresses2.txt rather than addresses.txt Inverted question T Vergilio 2016-01-31 Pending
475 Chapter 9 In the third paragraph, the statement about move() following symbolic links is incorrect Incorrect fact A Wellner 2016-01-31 Pending
475 Chapter 9 In the third paragraph, NOFOLLOW_LINKS should be removed Incorrect fact Juerg Bauman 2018-05-20 Pending
475 Chapter 9 In second to last paragraph, “a symbol link” should be “a symbolic link” Typo T Vergilio 2016-04-10 Pending
475 Chapter 9 In the third sentence of the second to last paragraph, “throw the runtime” should be “throw” Typo Olivier Chalet 2016-05-27 Pending
476 Chapter 9 In the second paragraph, “deletes the features.txt file” should be “deletes the feathers.txt file Typo Salim Rahal 2016-08-19 Pending
478 Chapter 9 In the first sentence “String array” should be “String list” Typo Layne Patel 2020-04-29 Pending
479 Chapter 9 In the sentence under Table 9.3, isRegular() should be isRegularFile() Typo Sander Wamelink 2016-06-01 Pending
480 Chapter 9 In the second to last paragraph, “necessary” should be “necessarily” Typo Guillaume Bailly 2016-02-07 Pending
482 Chapter 9 “food.jpeg” should be “food.jpg” Typo Donald Colvin 2017-07-29 Pending
484 Chapter 9 In the fourth paragraph, only readAttributes() throws an exception. Incorrect fact Tim Moroz 2018-08-27 Pending
483 Chapter 9 BasicFileAttributes, DosFileAttibutes, PosixAttributes and their respective view-classes should say “interface” instead of “class” Typo Juan Pablo Barale 2016-08-25 Pending
Various Chapter 9 Question 3: Pretend this code has the missing imports Typo Melvin Hazeleger 2017-12-30 Pending
486 Chapter 9 In the second paragraph, “files in the future” should be “files in the directory” Typo Donald Colvin 2017-07-29 Pending
489 Chapter 9 At the bottom of the page, “can be stopped” should be “can be stored” Typo Seb Cano 2016-02-02 Pending
491 Chapter 9 In the second to last paragraph, “returned a list of File objects” should be “returned an array of File objects” Typo Guillaume Bailly 2016-02-07 Pending
495 Chapter 9 In the first bullet of Exam Essentials Paths.getPath() should be Paths.get() Typo Yevhenii Tymoshenko 2016-08-03 Pending
497 Chapter 9 Question 3: Pretend this code has the missing imports Typo Melvin Hazeleger 2017-12-30 Pending
500 Chapter 9 #10 – Option E should say “of monkey.txt” instead of “of the monkey.txt”. This is just an extra word and does not affect the answer. Typo Donald Colvin 2017-07-29 Pending
500 Chapter 9 #12 – Choice G should be Paths.get() rather than Paths.getPath(). If you chose Choice G as an answer give yourself credit. Typo Seb Cano 2016-02-02 Pending
507 Chapter 10 The last three bullets are intended to be separate paragraphs Rendering error Guillaume Bailly 2016-02-27 Pending
various Chapter 10 Everyplace that says META-INF/service should be META-INF/services Typo Guillaume Bailly 2016-02-27 Pending
510 Chapter 10 The sample code to load the database is incorrect; see the online blog post with this code. Error Jeanne Boyarsky 2017-05-13 Pending
511 Chapter 10 Fo update and delete it should say “zero or more rows” rather than “one or more rows” Error Juerg Bauman 2018-01-02 Pending
516 Chapter 10 In the folder structure at the bottom of the page, the -java.sql.Driver line should be indented further. Rendering error Guillaume Bailly 2016-02-29 Pending
520 Chapter 10 In table 10.3, the rows are reversed. The cells in the first row go with updatable and vice versa. Incorrect fact Thomas Campos 2015-12-22 Pending
525 Chapter 10 The last query on the page should be “select count(*) as count from animal” rather than “select count(*) from animal”. You don’t need to know SQL on the exam though. Typo Olivier Chalet 2016-05-27 Pending
various Chapter 10 In various places, getTimeStamp should be getTimestamp and java.sql.TimeStamp should be java.sql.Timestamp Typo Olivier Chalet 2016-05-27 Pending
535 Chapter 10 Line 14 of the code example is missing an open quote. Incorrect explanation Guillaume Bailly 2016-02-10 Pending
535 Chapter 10 In the last example on the page ” jdbc should be “jdbc. The extra space after the quote is a typo. Additionally on the following line the quote after url could not be there. Typo Marc-André Parent] 2017-11-04 Pending
539 Chapter 10 In #4, E should be “services”, not “service”. Typo/td> Vlad Alin 2023-06-03 Pending
543 Chapter 10 #15: getTimeStamp should be getTimestamp Typo Vlad Alin 2023-06-03 Pending
543 Chapter 10 #15: The code is missing: Rendering error dropped the code. It’s in the online materials, but not the printed book. See the reported by link for the correct code. (It’s the standard loop through a ResultSet code so you aren’t missing much) Rendering error Seb Cano 2016-01-05 Pending
543 Chapter 10 #17: The question should say “Choose all that apply” Typo Seb Cano 2016-02-27 Pending
544 Chapter 10 #18: The SQL should say “order by name” rather than “order by id” Typo Scott Selikoff 2015-12-22 Pending
545 Chapter 10 #20: The close parens and { are missing in the try block. This doesn’t affect the correct answer to the question. Typo Vinod Pothuru 2016-05-30 Pending
549 Chapter 1 mock explanation #19: The answer is correct. The reason why D is wrong is incorrect. It does not compile because a static method cannot hide an instance method Incorrect fact Guillaume Bailly 2016-01-18 Pending
551 Chapter 2 mock explanation #7: “as adding settings” should be “as adding setters” Typo Juerg Bauman 2017-12-14 Pending
552 Chapter 2 mock explanation #13: While option D is incorrect, the reason should be ignored Typo Vlad Aline 2017-12-14 Pending
553 Chapter 3 mock answer #2: The correct answer is D, not E. The explanation is correct. The answer is wrong. Typo Mike Constanti 2016-01-11 Pending
553 Chapter 3 mock answer #2: The correct answer is D, not E. The explanation is correct. The answer is wrong. Typo Mike Constanti 2016-01-11 Pending
553 Chapter 3 #3 should say lines 3 through 6 instead of 3 through 7 in the explanatiohn Vlad Alin 2022-01-29 Pending
554 Chapter 3 #8 The answer is correct. In the explanation, “greater than” should be “greater than or equals” and “is larger” should be “is equal to or larger” Incorrect explanation Piotr Błądek 2016-08-10 Pending
556 Chapter 4 mock explanation #4: The answer is correct. In the explanation, “Options C and F are true” should be “Options C and D are true” because there is no Option F Typo Guillaume Bailly 2016-01-31 Pending
557 Chapter 4 mock answer #12: If you answered E, give yourself credit as well. Wrong answer Mikhail Saltyshev 2021-01-23 Pending
557 Chapter 4 mock explanation #14:The answer is correct. In the explanation, line 5 uses unboxing, not autoboxing. Also, it would be clearer if the example used an IntStream rather than Stream. Finally, you need to call mapToObj() rather than cast to make it compile Typo Guillaume Bailly and T Vergilio 2016-01-31 Pending
561 Chapter 6 mock explanation #13 “effectively final” should be “implicitly final” Incorrect fact T Vergilio 2016-02-18 Pending
563 Chapter 7 #10: Th answer is correct. In the explanation, c1 should be an int and c2 should be a String rather than vice versa. Typo Peter Deak 2016-02-27 Pending
563 Chapter 7 mock explanation #14: The correct answer is D as listed. The explanation part should say “and D is the only correct answer” instead of C. Typo Scott Selikoff 2015-12-22 Pending
564 Chapter 7 #17: Give yourself credit if you answered D becuase you noticed the missing import. Typo   Typo Scott Selikoff 2015-12-22 Pending
565 Chapter 8 #5 – append() does not throw an exception because it is a print writer. However, readLine() can throw an IOError (not an IOException). If you answered B and D, mark yourself as correct Incorrect Answer Juerg Bauman 2018-05-20 Pending
566 Chapter 8 answer #10 – F is correct but we should remove it from the choices. Give yourself credit for this one whether you chose F or not. Incorrect answer Guillaume Bailly 2016-02-27 Pending
566 Chapter 8 mock answer #12 – D is also a correct answer. While this works on both Windows and Mac, you don’t need to know that for the exam so give yourself credit whether you picked D or not. Incorrect answer Olivier Chalet 2016-05-27 Pending
567 Chapter 8 #21 – “a serialized empty array” should be “a serialized empty arraylist” Typo Donald Colvin 2017-07-29 Pending
569 Chapter 9 #6 – “Predictate” should be “Predicate” Typo Yuri Savchenko 2018-05-06 Pending
569 Chapter 9 #9 – “Stream<Path>” should be Stream<String>” Typo Alfonso Sanz 2016-09-04 Pending
570 Chapter 9 #12 – Choice G is correct given the typo in the question. Choice C is tricky. While it happens not to work, knowing that is beyond the scope of the exam. So give yourself credit either way. Typo Seb Cano 2016-02-02 Pending
570 Chapter 9 #16 – Choice E covers an edge case. Since we didn’t exclude a file with just commas, give yourself credit if you choose E and F. Typo Piotr Błądek 2016-09-17 Pending
571 Chapter 9 #17 – If you chose E and F as answers, give yourself credit. We meant which statement best describes the output. Multiple possible answers T Vergilio 2016-02-04 Pending
572 Chapter 10 #13: “open by the println” should be “open by rs.next()”/td> Typo in explanation Jorge Ruiz-Aquino 2017-12-13 Pending
572 Chapter 10 #18: The correct answer should be E. The answer should be E, not A because the result set type is not scollable. Incorrect answer Mike Constantin 2016-02-05 Pending
573 Chapter 10 various: The code should have braces around the try block. Wherever these were omitted, it as accidental Typo Peter Deak 2016-02-27 Pending
578 Appendix B “to the take” should be “to take” Typo Guillaume Bailly 2016-02-27 Pending
604 Appendix C In the last sentence of the paragraph below the table, the last sentence “number” should be “Date” both times it is mentioned. Typo T Vergilio 2016-03-05 Pending
604 Appendix C In the last paragraph, “object for January 31, 1984” should be “object for July 4, 2015” Typo Marc-André Parent 2017-11-04 Pending
605 Appendix C In the last code example, the output should be “04.07.2015 00:00” not “31.01.1984 17.47” Typo T Vergilio 2016-03-05 Pending
610 Appendix C In the sentence before the “Using a Reentrant Lock” section, “Table 7.3” should be “Table 7.4” Typo T Vergilio 2016-03-05 Pending
610 Appendix C In the first sentence in the “Using a Reentrant Lock” section, “is simple monitor lock” should be “is a simple monitor lock” Typo T Vergilio 2016-03-05 Pending
617 Appendix C In the second paragraph, readLine() should be readLock() Typo Peter Fodor 2016-06-18 Pending
619 Appendix C In the middle of the page, “all of the files contained with a directory tree” should be “all of the files contained within a directory tree” Typo T Vergilio 2016-03-05 Pending
621 Appendix C The last sentence should say “override” rather than “overwrite” in both places Typo T Vergilio 2016-03-05 Pending
631 Appendix C The println in the output should output path.toAbsolutePath() rather than path.getFileName() to match the output. Typo T Vergilio 2016-03-05 Pending
633 Appendix C In the exam essentials “0b and 0b” should be “0b and 0B” Typo Marc-André Parent 2017-11-04 Pending
645 Appendix C #6 – “Line 6” should be “Line 7” Typo Marc-André Parent 2017-11-04 Pending
646 Appendix C #8 – in the explanation, the one about primitives being wrong should be option g Typo Vlad Alin 2023-06-03/td> Pending
648 Appendix C #21 – “H is incorrect” should be “G is incorrect” Typo Nick Robinson 2018-02-11 Pending
Online material type Original error Type of error Reported by Date confirmed Reported to test vendor Date fixed
Various A number of questions say “choose all that apply” yet show radio buttons rather than checkboxes. It so happens these questions only have one correct answer. We wanted checkboxes to make them harder. We are working with the test vendor to get this fixed. Online practice exam wrong question type Jeanne Boyarsky 2015-12-19 2015-12-19 TBD
Mock exam 1 In the question that says StartOfJune, Month.JUNE should be 6. Error Jeanne Boyarsky 2015-12-19 2015-12-19 TBD
Mock exam 1 In the question about Integer and hashcode, change “given that a and b are of type Integer” to “given that a and b are classes that follow the spec” Error Radha Sahoo 2016-07-04 TBD TBD
Mock exam 1 In the question about which is least likely to be supported by your JDBC driver, the answer should be E, not B. Error Tahir Abdullayev 2017-05-20 TBD TBD
Mock exam 1 “map3.remove(key); // f2” should be “map3.remove(key); // f3” Typo Jerzy Los 2017-06-09 TBD TBD
Mock exam 1 In the MonkeyCounter example, we should be importing concurrent.atomic Typo Vlad Alin 2023-06-16 TBD TBD
Mock exam 2 In the question about FurryChipmunk, choice D should be “c instanceof Furry” and choice E should be “null instanceof FurryChipmunk” does not compile. This does not change the correct answer. Error Seb Cato 2016-03-15 TBD TBD
Mock exam 2 In the question with the ExhibitionManager class, “public final static ExhibitionManager” should be “private final static ExhibitionManager” Error Olivier Chalet 2016-05-27 TBD TBD
Mock exam 2 In the question with functional interface Chew, “public default isFed” should be “public default boolean isFed” and “abtract” should be “abstract” Error John Longer 2016-06-30 TBD TBD
Mock exam 2 In the question with CONCUR_READ_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE), the answer is E, but not for the reason given. (It has to do with the test data which isn’t in the question. Change E to “The code does compile, but is incorrect”. Error John Longer 2016-06-30 TBD TBD
Mock exam 2 In the question with System.console(), append() does not throw an exception because it is a print writer. If you answered A and D, mark yourself as correct Incorrect Answer Juerg Bauman 2018-05-20 Pending
Mock exam 2 explanation In the question with assert x, the explanation should say “D and E are true” rather than “D is true and E is false”. The actual answer to the question is correct. Typo Jerzy Los 2017-06-09 TBD TBD
Mock exam 2 explanation In the question about OutputStream, the answer is correct but the explanation is not “So E is correct” should be “so F is incorrect”. Similarly, “So F is correct” should be “so G is incorrect” Typo Jerzy Los 2017-06-09 TBD TBD
Mock exam 2 In the toy example, C is also a correct answer since toRealPath throws an IOException Incorrect answer Vlad Alin 2023-06-16 TBD TBD
Mock exam 2 In the JDBC example, “String” should be “int” in “an Object cannot be assigned to a String” Incorrect explanation Hiroki Inoue 2023-08-26 TBD TBD
Mock exam 3 In the question that has the answer “Trout has-a gills”, it should be “Trout has-a Gills”. Typo T Vergilio 2016-02-29 TBD TBD
Mock exam 3 In the CustomException example, Choice D should be worded as “The code throws CustomException and also CustomException as a suppressed exceptions.” Choice E should be worded as “The code throws CustomException and two instances of CustomException as a suppressed exceptions.” Rendering Error T Vergilio 2016-02-29 TBD TBD
Mock exam 3 In the lemur/habitat example, c is correct. B is incorrect. The wrong answer is in the exam Error T Vergilio 2016-02-29 TBD TBD
Mock exam 3 In Option D of the Suit enum question, “Color.Black” should be “Color.BLACK” Typo Elena Abelev 2017-05-20 TBD TBD
Mock exam 3 In option A of the Platypus question, “Platypus has-a Beak” should be “Platypus has-a UsesBeak”. Typo Elena Abelev 2017-05-20 TBD TBD
Mock exam 3 In the question asking you to fill in the blanks, line 8 should be blank and the explanation should remove the last sentence Typo Jerzy Los 2017-06-09 TBD TBD
Mock exam 3 In the PrintHolidays question, the explanation should say LongConsumer instead of Consumer<T> Typo Vlad Alin 2023-06-16 TBD TBD
Mock exam 3 In the print properties example, “veggies” should be “omni” in the explanation. Typo Vlad Alin 2023-06-16 TBD TBD
Flashcards set 1 Card #45: “other filenames” should be “other property files” Error   2016-03-24 TBD TBD
Flashcards set 1 Card #80 “META_INF/service” should be “META-INF/services” Typo Marc-André Parent 2017-11-04 Pending Pending
Flashcards set 2 Card #2: both private and default access should be listed as allowed options Error Jeanne Boyarsky 2015-12-19 2015-12-19 2016-02-27
Flashcards set 2 Card #42: the answer should begin with a lowercase letter Typo Jeanne Boyarsky 2015-12-19 2015-12-19 2016-02-27
Flashcards set 2 Card #63: FileStream should be FileOutputStream (note some readers reported seeing FileInputStream rather than FileOuputStream; not sure where that error came from!) Error Seb Cano 2016-02-27 TBD TBD
Flashcards set 2 Card #63: “used to read file data directly” should be “used to write file data directly” Error Jerzy Los 2017-04-22 TBD TBD
Flashcards set 3 Card #22: The answer should include replaceAll Error T Vergilio 2016-03-22 TBD TBD
Flashcards set 3 Card #23: The question should specify it is about ArrayList Error T Vergilio 2016-03-22 TBD TBD
Flashcards set 3 Card #39: “two hours earlier” should be “ten hours later” Error Seb Cano 2016-02-27 TBD TBD
Flashcards set 3 mills should be millis Typo Kilian Reisenegger 2016-05-03 TBD TBD
Flashcards set 3 Card #64: BufferedInputStream should be BufferedOutputStream Error Seb Cano 2016-02-27 TBD TBD
Chapter 6 #11 – Answer A should be Exception. This is correct in the book, but not the online material Conversion error T Vergilio 2016-01-31 TBD TBD

Want to report an errata? Post it at the OCP forum at CodeRanch.