Advanced Java - Books Outside the Core
Written by Kay Ewbank   
Monday, 26 February 2018
Article Index
Advanced Java - Books Outside the Core
Java Frameworks, IDEs and Plug-Ins

Java has a strong claim to being the most widespread programming language. Given its popularity, it's not surprising that our reviewers have scrutinized over 50 books relating to it, both new and classic. This is the pick of recommended titles for topics beyond core Java.

I Programmer takes a real interest in books. We try to keep up with new releases with Book Watch and based on what we include there members of the team select titles that match their interests for full review. To be included in a Programmer's Bookshelf selection, a book needs to have impressed our reviewer enough to be awarded a rating.


As there are so many Java books which were highly rated, we've split them into three piles. This is our selection of Java books for Java programmers who are advanced and want to learn extra topics.



For this round-up the main points of each review have been extracted. To read the full version click on the title. Clicking on the book jacket thumbnails in the side panel will take you to Amazon. If you make a book purchase accessing Amazon via a link to it on IProgrammer we are credited with a few cents - so thanks to all of you who support us in this way.

A Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA)

Author: Khalid A. Mughal, Rolf W Rasmussen
Publisher: Addison-Wesley
Pages: 688
ISBN: 978-0132930215

According to reviewer Alex Armstrong, the really important thing about this book is that you notice that the final part of the title is Oracle Certified Associate (OCA). It isn't about Java SE 8 in general but is specifically oriented to getting you though Exam 1Z0-808. This doesn't mean it has no value if you are not taking the exam, but you need to keep this in mind when thinking about buying a copy.

The second most important thing to know about this book is that the approach is best described as the sort of notes an experienced Java programmer might write to make sure they understood everything and could come back to for a quick refresher course.


Awarding a 4.5 rating, Alex says that

"If you are planning to take the exam and you don't need too much spoonfeeding of Java ideas, then this is the essential book that will help you pass. If you are not so sure of your Java then I'd recommend getting another book before setting out on tackling the exam. If you don't plan to take the exam, this book is more like a set of notes to remind you about Java in this respect they are good but not essential."

Functional Programming In Java

Author: Pierre-Yves Saumont
Publisher: Manning Publications
Pages: 472
ISBN: 978-1617292736

Reviewing this book, Mike James said that functional programming in Java is not something he'd considered before. Even though he awarded it 5 stars, Mike regards it as a good book but an essentially misguided one as functional programming in Java doesn't seem to be a good idea.



However, despite this his advice is to read the book if you have an interest in advanced Java and want to apply some, but not all, of the functional programming techniques in your own programs. Mike's conclusion is that:

"You will be a better Java programmer after reading it, even if you might not be a better functional Java programmer."

Java Closures And Lambda

Author: Robert Fischer
Publisher: Apress
Pages: 220
ISBN: 978-1430259985

Nikos Vaggalis awarded this book a 4-star rating for intermediate Java programmers and those wanting to get to know functional programming through Java.



Nikos says there are two distinct approaches to reading this book. The first is suited to those who want to make an in-depth study and follow the code examples. For this the intermediate to advanced Java experience is necessary as despite, the clear commentary provided with the code the author moves swiftly  from one example to the next.

Alternatively you can read it it without paying particular attention to the code, but instead focus on absorbing the principles and subtleties of FP, which are very well thought out by the author does a good job of distilling them for us. Even if it's not your intention to write Java code, the book makes you aware of the nature of functional programming so you can observe and shift those patterns into your language of choice, getting into a mind frame necessary for writing more compact, descriptive, succinct and easier to maintain code. 

Java Generics and Collections

Author: Maurice Naftalin & Philip Wadler

Publisher: O'Reilly
Pages: 294
ISBN: 978-0596527756

Some books have a long shelf life, and this one is still topical. This is a high-level book that attempts to explain how and why Java does generics in the way that it does. Rating it at 4.5, Ian Elliot described it as very nearly an essential read if you hope to master the topic, though there are alternatives.


The overall style of the book is wordy with short and to the point examples that are usually interwoven with the discussion. Ian thought this was the way to master a complex and subtle topic, and concluded:

"This is a very good book on two fairly focused topics – generics and collections. If you plan to make best use of either or both then buy a copy."

Java Performance

Author: Charlie Hunt & Binu John
Publisher: Addison-Wesley
Pages: 720
ISBN: 978-0137142521

While most Java programmers know that it compiles to an intermediate code which is run on a virtual machine (VM) designed specially for the job, what is less well known is that there is a lot you can do to optimize the performance. This book is all about how to find out what is critical for a particular program and how to make it better.



Rating it at 4.5, Mike James described the book as a rare thing - a technical book that isn't afraid to be technical. While pointing out that it is biased towards Oracle, he concludes that:

"If you are at all interested in the inner workings of Java, or if you really have a performance problem with a Java application, you need to read at least some of the chapters in this book. It is an excellent addition to any Java bookshelf."


<ASIN: 0132930218>


<ASIN: 1617292737>

<ASIN: 1430259981>


<ASIN: 0596527756>

<ASIN: B0026OR2HM>

<ASIN: 0137142528>


Last Updated ( Wednesday, 27 February 2019 )