Java OCP 17 Developer Complete Study Guide

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

Where to buy it


  • 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 Be sure to include “Sybex CSG 17” or “Sybex 829” and the chapter and/or page number in the subject.


xxiiiiIntro“home in on” should be “hone in on”Guillaume Bailly8/22/22
xlivIntro#14 – || should be |Alessandro Putzu8/22/22
lxIntroIn the explanation for #14, “Line 10 includes” should be “Line 11 includes”Guillaume Bailly8/22/22
201The jar commands are missing the class files at the endSJ Jabbar7/24/22
1834“referring to that tenth element” should be “referring to that tenth index”Guillaume Bailly9/10/22
1974The third code block is missing a semicolon. “//DateTimeException” should be “; //DateTimeException”Vlad Alin4/30/22
2054In the last example on the page, “202” should be “2022”Wayne Rijsdjik8/22/22
2826“one top-level class” should be “one public top-level class” both times it appearIlenia Salvadori7/4/22
3647Below the switch statement, Season.FALL should be Season.WINTER and FALL should be WINTERTymo Miller10/9/22
3847“were a method on the room variable” should be “were a method on the home variable”Guillaume Bally10/9/22
3967In the last paragraph “Wolf interface” should be “Wolf class”Gabi Maxim5/30/22
4107#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 Tejada6/29/22
4859In Table 9.6, forEach() and merge() have parens instead of <> around the genericsTaiwo Ajayi6/29/22
4859merge() takes a BiFunction, not a FunctionMike Gualeni8/22/22
4919“null values” should be null values for set or null keys for mapGuillaume Bailly11/27/22
4919In the real world scenario, “Queue” should be “List”Mourid Smida11/22/22
5249#7 – Option B should say List instead of ArrayListEarl Savadara5/30/22
58010In exam essentials, “The groupingBy() method is a terminal operation” should be “The groupingBy() method is used in a terminal operation”Marco Olivi7/16/22
62711In table 11.6, “S” should be “s” in the symbol column of the tableRadu Pana5/8/22
62711In the code example, the second to last line should have “hh:mm:z” instead of “h:mm z”Guillaume Bailly11/27/22
70412“do not export any packages to named or automatic modules” should be “do not export any packages to named modules”Hans-Joachim Bleichenbacher7/4/22
79314The line for toAbsolutePath() should be in table 14.3, not 14.4Fabrizio Bisi7/26/22
79514On the second line, getName() should be getFileName()Marco Olivi7/26/22
79814The method at the bottom of the page should be “move” not “copy”Guillaume Bailly12/4/22
85714#15 – in option F, “winer” should be “winter”Fabrizio Bisi7/26/22
85914#20 – The question mixes move and copyAlbert Attard9/17/22
0115#6 – There should be single quotes around JengaGuillaume Bailly12/4/22
9203#22 – pre-increment operator (–) should be pre-decrement operator (–) Albert Attard7/24/22
9409#7- B is not correct. The answer should only be F. (The parameter type doesn’t match in B)Guillaume Bailly11/27/22
9409#10 Note that F returns Collection which also allows calling forEach()Albert Attard8/30/22
95213#10 – “CopyOnWriteArrrayList” should be “CopyOnWriteArrayList”Albert Attard9/17/22
95714#17. The answer is correct but in the explanation “D is correct” should be “D is incorrect”Radek Novotný7/4/22
FlashcardsThe one about “removeIf” should have both List and Set as an answer.Patrick Kessels5/30/22
FlashcardsThe one about get() should be Supplier, not ConsumerRadek Novotný7/4/22
Flashcards“–classpath, and -class-path” should be “-classpath, and –class-path”Radek Novotný7/4/22
Practice Exam #3#15If you answered B/E/F, give yourself credit. It is a valid answer along with A/E/F.Radek Novotný7/4/22