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:
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
- OCP/Java SE 8 Programmer II official [1Z0-809] exam page
- Upgrade Java SE 7 to Java SE 8 OCP Programmer [1Z0-810] exam page
- Upgrade to Java SE 8 OCP (Java SE 6 and all prior versions) [1Z0-811] exam page
- Pearson VUE (register for the test) and ID requirements
- Cert View (check your score)
- Through the end of 650016, Oracle is offering 35% off on the exam fee with a discount code.
- Oracle posted sample questions
- How to access the online mock exams
Where to buy it
- Amazon paper and ebook (Amazon sells the book for less than everyone else)
- Barnes and Noble paper and nook
- Wiley
- Goodreads (links to many book sellers)
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:
- Announcement of book release
- Report of first printed copy
- Differences between the OCP 8 and two upgrade exams
- Bonus: How to create the Chapter 10 database using derby
- Bonus: Autocommit vs Savepoints
- Updated how to sign up for the practice exams
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.