Java OCP 17 Practice Tests

Scott Selikoff and Jeanne Boyarsky developed a book of practice tests for all of the new Oracle Certified Professional (OCP) Java SE 17. The book OCP Oracle Certified Professional Java SE 17 Developer Complete Practice Tests is published by Wiley Publishing. It will help you prepare for The 1Z0-829 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 listed here, please create a thread in the OCP forum and include “Sybex Practice Tests 17” in the subject.

For more information, visit Oracle’s Java SE 17 Exam page. 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, % passing (TBD), $245

All known errors are listed here. To report a potential error, please create a thread at Be sure to include “Sybex Practice Tests 17” and the chapter and/or page number in the subject.


211#68 – The year 2012 should be 2022Albert Attard10/9/22
342#21 – “L0” and “E0” should be “L 0” and “E 0”Albert Attard10/9/22
653#49 – Option B should have a comma before “constructor” (doesn’t affect answer)Albert Attard10/9/22
1083#149 – Option E should have a trailing dash (doesn’t affect answer)Albert Attard10/9/22
1784#58 – Option B should jave, not java.langJesus Hernandez12/24/22
2075#71 – Option F should be “3 null 4” with the spaces (doesn’t affect answer)Albert Attard10/9/22
2376#75 – The record should contain String getColor() { return color; }Albert Attard10/29/22
2755#27 – -module should be –moduleAlbert Attard3/4/23
2755#27 – The line starting with “provides” should end with a semicolonIsraa AbdelRahman12/24/22
2847#59 – api.bugs should be apiMichał Budziło11/20/22
3359#36 – Instead of assuming it has already been written to disk, change to written to and read from disk.Albert Attard3/4/23
34610#18 – The second to last } should be removedAlbert Attard3/4/23
35110#25 – Ignore option D since there is no s2Albert Attard3/4/23
445Ch 1 explanation#13 – in the last sentence, thatOne is a day after, not beforeVlad Alin6/3/23
448Ch 1 explanation#46 – “with a trailing space” should be “without a trailing space”Albert Attard9/17/22
456Ch 3 explanation#9 – “main” should be “complete”Albert Attard10/9/22
458Ch 3 explanation#26 – lang.lang should be java.langAlbert Attard10/9/22
462Ch 3 explanation#63 – **/ should be */Albert Attard10/9/22
479Ch 3 explanation#210 – “to an anonymous” should be “to this anonymous”Albert Attard10/9/22
490Ch 5 explanation#11 – In the explanation, the comment about Map should say extends, not implements, interfaceVlad Alin6/3/23
496Ch 5 explanation#48 – char[]
 ticTacToe should be char[][]
Albert Attard10/9/22
515Ch 6 explanationMap<Boolean, List<String> should be Map<Boolean, List<String>>Albert Attard6/3/23
520Ch 7 answer#42 – The answer should be A/D not A/FMichał Budziło11/20/22
521Ch 7 explanation#59 – api.bugs should be apiMichał Budziło11/20/22
521Ch 7 explanation#60 – the last sentence about Option D should be removedAlbert Attard3/4/23
525Ch 8 explanation#9 – “ConcurrentModificationException” should be “an Exception”Albert Attard3/4/23
535Ch 9 explanation#40 – Files.lines() should be Files.list()Albert Attard3/4/23
537Ch 10 explanation#22 – PreparedStatatement should be PreparedStatementAlbert Attard3/4/23
40Ch 11 answer#17 – both B and D are correct. (The question should have used 13:33 to force a distinction and have the answer e BMIchael Goshey12/17/23
555Ch 14 explanation#6 – #31 – The answer is correct, however the explanation is not. Filter() is not redundant.Vlad Alin6/16/23