Series: The Complete Reference
Paperback: 1312 pages
Publisher: McGraw-Hill Education; 9 edition (April 1, 2014)
Product Dimensions: 1.8 x 7.8 x 9.2 inches
Shipping Weight: 4.1 pounds (View shipping rates and policies)
Average Customer Review: 4.4 out of 5 stars See all reviews (241 customer reviews)
Best Sellers Rank: #12,354 in Books (See Top 100 in Books) #2 in Books > Computers & Technology > Programming > Languages & Tools > Java > Reference #37 in Books > Computers & Technology > Programming > Web Programming #50 in Books > Textbooks > Computer Science > Programming Languages
The first impression after reading this book for one day -- it is definitely not a complete reference. Many important points are covered too shallow.For example, while discussing Properties, the author mentions that this API is sort of obsolete, but he doesn't mention Preferences. In fact, Preferences are not mentioned at all (at least I couldn't find it in the Index). Another example -- StringTokenizer class, for which the author dedicates two pages, but doesn't mention how it is different from String.split, e.g. from the performance point of view. There are javadocs for ArrayList, but it doesn't say how it grows and when it shrinks. I was unable to find some of the important contracts, e.g. what has the higher priority for a TreeSet -- Comparator's 0, or element's equals returning false? Those are rather trivial questions, naturally appearing while reading the book, but unfortunately you'll have to google for it. The author provides virtually no hints about the implementation of the library and the language, which I believe is essential for understanding most of the design decisions. This is absolutely unacceptable for a reference book.There are two other annoying things:1. The book is full of Javadocs, I would say 1/3 of the book is Oracle javadocs, which I personally find rather useless. It looks like something completely artificial, added just to extend this (already enormous) volume.2. The book is very thick, while the binding and cover are very soft and unsubstantial. It had some signs of wear already after one day of reading! If you use this book regularly as a reference, it will wear out very soon.Having said that, I must mention that some of the topics are covered well, concise and right to the point.
A little background:Started programming as a child on my family's Mac IIGS. I enjoyed freaking my mom out when I would make the computer count forever via an infinate loop.I self taught myself to program on my TI 83 in middle school, html and adobe photoshop in highschool, css in college, Perl for bioinformatics perposes.Skip to now... realizing that somewhere along the line I forgot about my love to program soI self taught myself begginers C++ using TheNewBoston's Youtube tutorial videos.To sum it all up, I've a sporadic programming background... but nothing substantial in terms of profession/life goals..Until this book.This book teaches at the perfect speed, and provides examples in a logical "here is the newbie way that works... but here is a better way...and yet here is an even BETTER way!". So you learn in a very easy step by step way.Treat this book as you would any math book, and work out EVERY SINGLE example, as well as try to work out what the console output would look like in your head or on paper and check it against the System.out provided (in the text)And then, after a few chapters, go back and try to do the 'Try This' programs and retake the quizes to keep the info fresh, and see where your streths and weeknesses lie.Other notes:I use JavaFX (IntelliJ IDEA) because I plan to eventually make a GUI program.I believe having a beginners knowledge in c++ has made me understand Java on a deeper level than those without. And this background has enabled me to learn Java faster and more efficiently.
Some reviewers have said this book is too big to read through. I'll put that to the test. This book is BIG but written very nicely. It is a reference book, yes, but can be read through comfortably. It is clear and succinct without embellishment. There are plenty of examples throughout each section to apply the outlined knowledge. I especially like how some sections include the *why* of the way things are. It helps with understanding. I am an experienced programmer coming from many other object-oriented languages and wanted a way to learn Java without the fluff. This book is perfect in that respect. It is in no way a novice guide to programming. If you are not familiar--at least conceptually--and experienced with OOP/OOD (among other things), come back later for this massive text. Otherwise, it's worth the splurge at ~$45 for nearly 1300 pages. It is well-organized and written with great clarity.TOC (At a Glance):__ Part I The Java Language __1. The History and Evolution of Java 32. An Overview of Java 173. Data Types, Variables, and Arrays 354. Operators 615. Control Statements 816. Introducing Classes 1097. A Closer Look at Methods and Classes 1298. Inheritance 1619. Packages and Interfaces 18710. Exception Handling 21311. Multithreaded Programming 23312. Enumerations, Autoboxing, and Annotations (Metadata) 26313. I/O, Applets, and Other Topics 30114. Generics 33715. Lambda Expressions 381__ Part II The Java Library __16. String Handling 41317. Exploring java.lang 44118. java.util Part 1: The Collections Framework 49719. java.util Part 2: More Utility Classes 57920. Input/Output: Exploring java.io 64121. Exploring NIO 68922.