Jeanne Boyarsky and Scott Selikoff developed a complete study guides for all of the new Oracle Certified Professional (OCP), Java SE 17 Programmer 1Z0-829 exam. The book OCP Oracle Certified Professional Java SE 17 Developer Complete Study Guide is published by Wiley Publishing.
We are using this blog to publish information about the book such as objectives changes and any errata found within the book. To report an error in the book that is not yet listed here, please create a thread in the OCP forum and include “Sybex CSG 17” or “Sybex 829” in the subject.
If you have any questions for us, feel free to post in the OCP forum at CodeRanch which Jeanne and Scott visit frequently.
Key Links
- Check the latest score/duration/objectives
- OCP/Java SE 17 official exam page
- CertView (register for the test and check your score) and ID requirements. See blog on how to register (English) or blog on how register (other languages)
- Download Java 17 from Oracle
- GitHub repo for modules chapter
- Setup page for Chapter 15 – JDBC
- How to access the online mock exams
Where to buy it
Score/length
- 1Z0-829 – 90 minutes, 50 questions, 68% passing, $245
All known errors are listed here. To report a potential error, please create a thread at https://coderanch.com/f/24/java-programmer-OCPJP. Be sure to include “Sybex CSG 17” or “Sybex 829” and the chapter and/or page number in the subject.
Errata
Page | Chapter | Error | Reporter | Confirmed | |
---|---|---|---|---|---|
xxiii | Intro | “home in on” should be “hone in on” | Guillaume Bailly | 8/22/22 | |
lvii | Intro | #30 – || should be | | Alessandro Putzu | 8/22/22 | |
lx | Intro | In the explanation for #14, “Line 10 includes” should be “Line 11 includes” | Guillaume Bailly | 8/22/22 | |
55 | 1 | #6 – should say non parameter variables | João Lopes | 12/2/24 | |
111 | 3 | In figure 3.3, the colon is missing after the second case | Caleb Josue Ruiz Torres | 3/4/23 | |
116 | 3 | In figure 3.4, there should be a semicolon at the end | Caleb Josue Ruiz Torres | 3/4/23 | |
167 | 4 | At the bottom of the page, the three dots should be after the type, not after the variable name | Rik Vo | 6/3/23 | |
183 | 4 | “referring to that tenth element” should be “referring to that tenth index” | Guillaume Bailly | 9/10/22 | |
194 | 4 | US/Eastern should be -4:00 with an a GMT of 11:50 | Dan Buege | 6/16/23 | |
197 | 4 | The third code block is missing a semicolon. “//DateTimeException” should be “; //DateTimeException” | Vlad Alin | 4/30/22 | |
205 | 4 | In the last example on the page, “202” should be “2022” | Wayne Rijsdjik | 8/22/22 | |
251 | 5 | At the end of the page “We ran rewrite” should be “We can rewrite” | Manuel Trumm | 3/4/23 | |
282 | 6 | “one top-level class” should be “one public top-level class” both times it appear | Ilenia Salvadori | 7/4/22 | |
357 | 7 | The Skip class should implement Hop | Caleb Josue Ruiz Torres | 4/26/24 | |
364 | 7 | Below the switch statement, Season.FALL should be Season.WINTER and FALL should be WINTER | Tymo Miller | 10/9/22 | |
379 | 7 | The first sentence of the note should say “You might think that you need custom checks for every field in the record, like for numberEggs” | Koen Weterings | 12/3/23 | |
384 | 7 | “were a method on the room variable” should be “were a method on the home variable” | Guillaume Bally | 10/9/22 | |
396 | 7 | In the last paragraph “Wolf interface” should be “Wolf class” | Gabi Maxim | 5/30/22 | |
410 | 7 | #14 – “non-sealed” was supposed to be the wrong answer “nonsealed” in option D. If you chose option D as correct give yourself credit. | Favio Tejada | 6/29/22 | |
78 | 9 | Set cannot take duplicates so ‘z’, ‘o’, ‘o’ is invalid | Ira Go | 5/29/24 | |
483 | 9 | “It is not true that you can pass “any number of pairs” should be “up to 10 pairs” | João Lopes | 3/4/23 | |
485 | 9 | In Table 9.6, forEach() and merge() have parens instead of <> around the generics | Taiwo Ajayi | 6/29/22 | |
485 | 9 | merge() takes a BiFunction, not a Function | Mike Gualeni | 8/22/22 | |
491 | 9 | “null values” should be null values for set or null keys for map | Guillaume Bailly | 11/27/22 | |
491 | 9 | In the real world scenario, “Queue” should be “List” | Mourid Smida | 11/22/22 | |
524 | 9 | #7 – Option B should say List instead of ArrayList | Earl Savadara | 5/30/22 | |
various | 10 | The Stream class is an interface | Mikalai Zaikin | 6/3/23 | |
580 | 10 | In exam essentials, “The groupingBy() method is a terminal operation” should be “The groupingBy() method is used in a terminal operation” | Marco Olivi | 7/16/22 | |
624 | 11 | “NumberFormat is an interface” should be “NumberFormat is an abstract class” | Guillaume Bailly | ||
627 | 11 | In table 11.6, “S” should be “s” in the symbol column of the table | Radu Pana | 5/8/22 | |
627 | 11 | In the code example, the second to last line should have “hh:mm:z” instead of “h:mm z” | Guillaume Bailly | 11/27/22 | |
689 | 12 | In table 12.8, jdk. accessibility has a missing “i” | Crystal Kirsct | 5/12/24 | |
693 | 12 | /!module-info.cass should be !/module-info.class | Tobias Zeiler | 11/3/24 | |
704 | 12 | “do not export any packages to named or automatic modules” should be “do not export any packages to named modules” | Hans-Joachim Bleichenbacher | 7/4/22 | |
711 | 12 | “export to a specific package” should be “export to a specific module” | Manuel Thrumm | 3/4/23 | |
793 | 14 | The line for toAbsolutePath() should be in table 14.3, not 14.4 | Fabrizio Bisi | 7/26/22 | |
796 | 14 | p.getName() should be p.getFileName() in the first example | Justinas Seskus | 3/4/23 | |
798 | 14 | The method at the bottom of the page should be “move” not “copy” | Guillaume Bailly | 12/4/22 | |
807 | 14 | A user on Windows reported the list method does follow symlinks | Udo Albinger | 12/28/22 | |
823 | 14 | The line with while is missing a { | Konstantin Müller | 6/3/23 | |
839 | 14 | “void” is missing in the mark() line of table 14.11 | Konstantin Müller | 6/3/23 | |
847 | 14 | In table 14.13, the end of the table is incorrect | Daniel Odrinski | 12/17/23 | |
857 | 14 | #15 – in option F, “winer” should be “winter” | Fabrizio Bisi | 7/26/22 | Already fixed |
859 | 14 | #20 – The question mixes move and copy | Albert Attard | 9/17/22 | |
889 | 15 | In the second sentence of “Passing an IN Parameter”, “of the stored procedure” should be “of the name column” | Michael Goshey | 12/3/23 | |
901 | 15 | #6 – There should be single quotes around Jenga | Guillaume Bailly | 12/4/22 | |
915 | 2 | #13 – Remove “since the operator … is the same” for & and ^ | Peter Prazenica | 3/4/23 | |
917 | 3 | #8 – “if s is not a Long” should be “if o is not a Long” | Crystal Kirscht | 2/18/24 | |
920 | 3 | #22 – pre-increment operator (–) should be pre-decrement operator (–) | Albert Attard | 7/24/22 | |
923 | 4 | #15 – “before the second element” should be “after the second element” | Tobias Zeiler | 11/3/24 | |
923 | 4 | #19 – “index 1 comes first alphabetically” should be “index 1 comes second alphabetically” | Tobias Zeiler | 11/3/24 | |
936 | 8 | #2 – String should be StringBuilder in the explanation | João Lopes | 3/4/22 | |
940 | 9 | #7- B is not correct. The answer should only be F. (The parameter type doesn’t match in B) | Guillaume Bailly | 11/27/22 | |
940 | 9 | #10 Note that F returns Collection which also allows calling forEach() | Albert Attard | 8/30/22 | |
949 | 12 | #3 Ignore everything about option D in the explanation | Federica Sacca | 6/3/23 | |
952 | 13 | #10 – “CopyOnWriteArrrayList” should be “CopyOnWriteArrayList” | Albert Attard | 9/17/22 | |
955 | 13 | #25 – Give yourself credit if you choose E. The code will in fact with an infinite loop | Gevorg Vardanya | 8/29/24 | |
955 | 14 | #4 – Ignore the part about if the code were corrected | Gevorg Vardanya | 8/29/24 | |
957 | 14 | #17. The answer is correct but in the explanation “D is correct” should be “D is incorrect” | Radek Novotný | 7/4/22 | Already fixed |
959 | 15 | #6 Give yourself credit if you put option D as the JavaDoc says an exception is thrown in autocommit mode. (this is out of scope though) | Matthias van der Hallen | 12/24/22 | |
online only | 4 | #14 is A and F. This is correct in the book, but not online | Varban Bonev | 6/3/23 | Already fixed |
online only | 4 | #19 – Arrrays as an extra r | Guillaume Bailly | 6/3/23 | Already fixed |
Flashcards Set 2 | The one about “removeIf” should have both List and Set as an answer. | Patrick Kessels | 5/30/22 | ||
Flashcards Set 2 | The one about get() should be Supplier, not Consumer | Radek Novotný | 7/4/22 | ||
Flashcards Set 1 | “–classpath, and -class-path” should be “-classpath, and –class-path” | Radek Novotný | 7/4/22 | ||
Flashcards Set 1 & 2 | The questions about casting from int/double should say “numeric types” | Bernice Tjonadi | 1/2/24 | ||
Flashcards Set 2 | SavePoint should be Savepoint | Bernice Tjonadi | 1/2/24 | ||
Practice Exam #1 | #7 | “isEmpty” should be “toString” | Guillaume Bailly | 12/31/22 | |
Practice Exam #3 | #15 | If you answered B/E/F, give yourself credit. It is a valid answer along with A/E/F. | Radek Novotný | 7/4/22 |