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
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 |
20 | 1 | The jar commands are missing the class files at the end | SJ Jabbar | 7/24/22 |
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 |
364 | 7 | Below the switch statement, Season.FALL should be Season.WINTER and FALL should be WINTER | Tymo Miller | 10/9/22 |
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 |
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 |
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 |
857 | 14 | #15 – in option F, “winer” should be “winter” | Fabrizio Bisi | 7/26/22 |
859 | 14 | #20 – The question mixes move and copy | Albert Attard | 9/17/22 |
901 | 15 | #6 – There should be single quotes around Jenga | Guillaume Bailly | 12/4/22 |
915 | 2 | #13 – Remove “since the order … is the same” for & and ^ | Peter Prazenica | 3/4/23 |
920 | 3 | #22 – pre-increment operator (–) should be pre-decrement operator (–) | Albert Attard | 7/24/22 |
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 |
957 | 14 | #17. The answer is correct but in the explanation “D is correct” should be “D is incorrect” | Radek Novotný | 7/4/22 |
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 |
online only | 4 | #19 – Arrrays as an extra r | Guillaume Bailly | 6/3/23 |
Flashcards | The one about “removeIf” should have both List and Set as an answer. | Patrick Kessels | 5/30/22 | |
Flashcards | The one about get() should be Supplier, not Consumer | Radek Novotný | 7/4/22 | |
Flashcards | “–classpath, and -class-path” should be “-classpath, and –class-path” | Radek Novotný | 7/4/22 | |
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 |