Core Java 9 for the Impatient

Core Java SE 9 for the Impatient — Cay S. Horstmann, Pearson Addison-Wesley 2017 (2nd ed.), ISBN 978-0-13-469472-6

The Impatient series condenses the traditional monumental Core Java tomes (2,072 pages for Java SE 8) into a single book a quarter the size – 538 pages for Java SE 9, 480 pages for the first edition on Java SE 8. Rather than covering most of the standard library and JDK toolset, For the Impatient focuses on essential functionality that should be relevant to any project, whether end-user application or web server component. Several big Core Java topics are largely or entirely absent, including graphics & user interfaces, networking, security, databases, and native methods. The remaining coverage is abbreviated as well.

While For the Impatient is neither a beginner’s tutorial nor an exhaustive reference, the covered subjects are for the most part sensibly selected and treated with surprising thoroughness. Horstmann crams an incredible amount of essential knowledge and useful tips into the available space. There are excellent concise explanations of complex issues such as higher-order functions, race conditions, stream operations, and wildcard variance in generics. The second edition was revised throughout and adds a chapter on the new module system – once again the best description of this subject I’ve yet seen.

One small disappointment: the new Java command-line interpreter JShell gets all of four pages. A strange contrast to the extensive coverage of annotation processing and the Nashorn JavaScript engine, neither of which appear relevant to general application development. The contents of these chapters are as good as the rest, though. Editing is solid as well – I recall maybe two or three typos in the entire text. Recommended for all Java developers, at least until the full Core Java 9 is out.

(See Developer Books for my complete review archive.)

Leave a Reply