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 two 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.
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.)