So the 4th edition of Learning Java, by Patrick Niemeyer Et. Al is a book that I wouldn't recommend for novice, and especially me, having not touched Java since my Bachelor's degree, I had to do a lot of researching in various areas, this book covers quite a broad spectrum of Java, and is used quite well as a reference book, from Swing and various Graphics APIs to Web Sockets. The book is generally easy to digest, if you have a sufficient Java background, but my thirst for learning more is still there, this book however does provide a good platform to start from. The book begins by explaining what Java is, and outlining the goals of creating your first Hello world app, then in subsequent chapters dealing with Java Compiler, the Java VM, before embarking on the basics of Java development, dealing from Statements to Exceptions and Classes and Methods.
Chapter 6 then moves to more advanced OOP concepts, such as subclassing and interfaces, and method permissions. with the chapters after dealing more with Generics and Reflection. I found Threads to be a more complicated area, and Chapter 9 deals with synchronisation and prioritisation concepts, before the book begins to look at specific areas such as File Access, Utility Classes before getting to Networking in Chapter 13, and the Web in Chapter 14. I found those chapters to be quite satisfying for an introduction to web dev, as well as the final chapter which dealt with XML programming.
Overall I recommend this book for those of us who are looking to get back into the swing of Java, although the book is quite thick, its definitely a worthy read. I will continue my Java mastery through various other more advanced books, but this book for me is a great refresher.
Prior Knowledge: Some Java knowledge, this book isn't a complete Java 101. Additionally, you will also need sufficient OOP background experience, to get the general concepts involved.
My rating :[rating=3.5]