Core Java 10 for Java 8

Core Java, Volume I: Fundamentals — Cay S. Horstmann, Prentice Hall (Oracle) 2015 (10th ed. for Java SE 8), ISBN 978-0-13-417730-4
Core Java, Volume II: Advanced Features — Cay S. Horstmann, Prentice Hall (Oracle) 2016 (10th ed. for Java SE 8), ISBN 978-0-13-417729-8

These 1000-page tomes originated as Sun’s official guide to the Java platform and continue to serve that role for Oracle’s JDK releases. Readers should have some programming experience, preferably C/C++ as one of Core Java’s strengths is highlighting the semantic differences between these syntactically similar languages. Horstmann (now without previous co-author Gary Cornell) thoroughly covers not only JVM fundamentals and Java language features, but also external aspects ranging from JAR deployment to native interoperation, as well as many important standard library frameworks.

Java 8 features added to the 10th edition include lambda expressions, parallel array algorithms, completable futures, streams, and the new date & time API. One major omission is JavaFX which is completely ignored in favor of the older AWT/Swing framework. Apparently in order to hit the 1000-page limit, volume II has also dropped the previous edition’s chapters on Distributed Objects (RMI) and JavaBeans Components. Moreover, compared to Horstmann’s earlier Impatient books (see below) the new Nashorn JavaScript engine is barely mentioned. I would rather see the 600 pages on AWT/Swing moved into another volume to make room for more essential topics. Was it wise to elide JavaBeans in favor of an extensive tutorial on Swing tree controls?

Regardless, I still recommend Core Java for its wide-ranging yet detailed coverage of most subjects conceivably of interest to Java programmers. The writing is concise and pleasant, abounding with practical examples and helpful advice. Horstmann is to be commended for not just adding sections on Java 8 but revising the book throughout for the new edition. Several topics were rearranged or expanded, the list of errata is moderate for a book of this size, and last not least the previous edition’s bizarre crusading for the obsolete Java browser plugin was finally dropped. Now Horstmann only needs to overcome his irrational fear of Windows file paths with embedded spaces [p.20]…

Note that Horstmann has already published two excellent shorter books on Java SE 8: Java SE 8 for the Really Impatient covering only new features, and Core Java for the Impatient which is essentially a condensed version of Core Java. They provide very useful overviews for those who don’t want to dig through 2,000 pages of material, as well as more material on Nashorn.

(See Developer Books for my complete review archive.)

Leave a Reply