wood burning stoves 2.0*
The moose likes Book Reviews and the fly likes Core Java vol I-Fundamentals Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Books » Book Reviews
Bookmark "Core Java vol I-Fundamentals" Watch "Core Java vol I-Fundamentals" New topic
Author

Core Java vol I-Fundamentals

Book Review Team
Bartender

Joined: Feb 15, 2002
Posts: 932
Author/s    : Cay S Horstmann, Gary Cornell
Publisher   : Prentice-Hall
Category   : Advanced Java
Review by : Campbell Ritchie
Rating        : 8 horseshoes

I was pleased to have a copy of this book to review. It is by no means a beginners' book, moving at a fast pace, and often referring to later chapters or VolII, and using a rather "compressed" form of code in its examples. Users of previous editions will recognise the writing style, updated seamlessly so one cannot see the join between "old" and "new". Unlike in some books, there is no "project" running through it, nor end-of-chapter exercises. Again reflection appears unusually early position in this book. It has ~220 more pages than my 2005 edition, but part of that increase comes from moving the threading chapter into VolI.
It is an object-oriented book, but assumes readers already know what objects are. It describes aliases, returning mutable references and pass-by-value. Also warnings about potential security hazards and pitfalls.
Much of the book consists of a detailed description of different features of the platform. It has probably the clearest description of Java generics I have seen. The threading chapter is also up to date, with Locks before synchronized.
This book takes it for granted than the reader already know the working of data structures, Singletons, Immutable classes or invariants, so they are not described. Many differences from C++ are mentioned; although many C++ programmers already know Java, those are potential points of confusion. These differences are less relevant to people who come straight to Java.
I disagree with a few things: throwing an unchecked Exception to enable an overridden method to compile, Scanner#nextLine reads the next line.
One thing I was disappointed by: the book has only few references.
A good resource to get you up to speed in Java. When VolII comes out it will probably also be a very comprehensive resource.

---
Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.

More info at Amazon.com
Phil Freihofner
Ranch Hand

Joined: Sep 01, 2010
Posts: 115
    
    1
For what edition is this review? I have 8th edition, for Java 6SE, and am thinking, but not sure, that this must be for a 9th edition for Java 7. In the 8th edition, the chapter on threads is also in the first volume, so that line in the review made me think twice about my assumption.

One of the great benefits of this series, surviving for so many editions, is that the code examples run as advertised. Another is that the information is well organized for use as a reference.

I found myself (then a beginner) overwhelmed by the early introduction to reflection. Even the explanations for Interfaces were a bit daunting, that being a new programming concept for me. This led to a reading of "Head First Java" to get some of the basic concepts down. But I definitely head to Core Java almost as often as the online tutorials for info when I need a reference or a working code example to use as a template.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 37950
    
  22
9th edition for Java7.
I would have given it 9 HS if it were not for the references, which I thought were too few.
 
jQuery in Action, 2nd edition
 
subject: Core Java vol I-Fundamentals
 
Similar Threads
The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming
Scala for the Impatient
JasperReports 3.6 Development Cookbook
The CERT Oracle Secure Coding Standard for Java
Murach's Java Programming