BIG
DATA

JAVA

TOP 10 JAVA BOOKS

Back to Books Index
Read more about »
  • Java 9 features
  • Read about Hadoop
  • Read about Storm
  • Read about Storm
 

Top 10 Java Books Every Java Programmer Should Read

Following are the books recommended by CoreJavaGuru, for learning Java.

Java is a programming language that is class-based, object-oriented, and concurrent, enabling programmers to write once, and run anywhere. This second edition of Effective Java is designed to enable the readers to make the most of the Java programming language, along with its fundamental libraries, which include java.lang, java.io, java.util, and java.util.concurrent.

In total, there are 10 chapters in this book. Some chapters include Enums and Annotations, General Programming, Classes and Interfaces, Methods Common To All Objects, and Concurrency. Through the course of this book, the readers are guided into writing clearer, more robust, and more reusable code.

This book comprises 78 items, each of them revolving around one rule. These rules encapsulate the best practices that are regarded beneficial by highly experienced programmers. These items are spread out in 10 chapters, each of them covering one major facet of software designing. In Java�s 1.5 release, several new features were included to the platform. Most items outlined in this book have accompanying program examples. This book comprises code examples that illustrate design patterns and idioms, while some show the practices that should be avoided. Bloch explains that this book is not for beginners. It assumes that the readers have understood the fundamentals of the Java programming language already. Effective Java may also serve as a reference guide for advanced Java programmers.

This is a book that is tailored for Java novices. Ideal for those who are interested in learning Java but have been put off by the complexities of learning the language, Head First Java explores a new way of teaching the same.

Head First Java is aimed at people who are complete novices when it comes to programming with the language, and the book makes the learning experience fun - one thats filled with innovative and novel measures.

If youre not a fan of wracking your brain with dull theoretical concepts that put you to sleep, Head First Java can be a welcome addition to your shelf.

The book starts from the fundamentals and progresses to extremely advanced levels, employing an easy-to-learn approach throughout. From distributed programming with RMI and network sockets, object oriented design, and object properties and methods, to graphical user interfaces, Java archives, network connectivity and Java 5.0, the book explores every facet of the programming language with mysteries, puzzles and visuals that will keep you engaged.

The unusual format is based on the theory that the brain needs stimulation to grasp complex issues. The adopted approach brings about a considerable reduction in the time required to grasp the language.

In Clean Code: A Handbook Of Agile Software Craftsman, the authors stress the fact that a bad code may have some chances at working. However, a code that is not clean does not work and can contribute hugely to the failure of an organization. The authors go further to say that the book can make one a good programmer but at the same time caution, that it is possible only if the user works on it.

The book develops within its readers the habits of a skilled software craftsman. It has several codes and it challenges the readers to think about what could be wrong with each code. Not just this, it also challenges the readers to introspect their professional values and their commitment, when it comes to their craft.

It is laced with case studies and every case study serves as an effective example for code cleaning, depicting how a wrong, inefficient code can be turned into a clean and sound one. The book is divided into three sections. The first describes the basics on code cleaning, its principles and practices. The second contains well-illustrated case studies related to code cleaning, while the third contains properly formed conclusions and deductions based on these conclusions.

The chapters in the book include Clean Code, Functions, Meaningful Names, Formatting, Comments, Objects and Data Structures, Unit Tests, Boundaries, Error Handling, Classes, Emergence, Concurrency, Systems, Junit Internals, Successive Refinement, Smells and Heuristics, and Refactoring Serial Date.

Java: How to Program is a comprehensive book for undergraduate students of Computer Science Engineering. The book comprises chapters on control statements, arrays and array lists, classes and objects, object-oriented programming, ATM case study, strings, characters and regular expressions, generic collections, GUI components, and web services. In addition, the book includes several examples and an exclusive section on Java-based Android app. This book is essential for students preparing for various competitive examinations

JavaScript, like all other programming languages, has its positives and negatives. Unfortunately, this language was developed and released hurriedly, before it could be refined, and hence there are quite a few drawbacks. JavaScript: The Good Parts focuses on the good parts of JavaScript, and reveals those parts that make the language more readable, reliable, and maintainable. The language as a whole does have its drawbacks, but the author does away with those bad features, and presents an effective subset of JavaScript that can be used to create an efficient and extensible code. Crockford, very effectively, shows readers the elegant side of this flawed, but popular language.

The book is meant for all those who develop sites or applications for the web. Divided into 10 chapters, JavaScript: The Good Parts begins with an overview of the 'good parts' of the language. The chapters present in the book include Functions, Inheritance, Objects, Arrays, Methods, Regular Expressions, Style, and Beautiful Features. These are followed by the drawbacks of JavaScript, which are included in the 5 Appendices titled Awful Parts, Bad Parts, Syntax Diagrams, JSON, and JSLint.

This is one of the Head First series books that teaches concepts in an easy and interactive manner, with lots of visuals. Head First Design Patterns, as the name suggests, deals with software design patterns. These design patterns can be considered as templates that can be used as a base to develop new code.

According to the authors, it is not necessary to reinvent the wheel when it already exists. Just use it and concentrate on building other things instead. So, this book shows how software design can be made easier by taking advantage of the patterns already out there in the digital universe. Studying some of the best design techniques can really cut down on the development time of new software.

Head First Design Patterns is written in a light style using puzzles, jokes, and visuals to highlight the points being taught.Head First Design Patterns covers object-oriented concepts, design patterns, and relevant Java features so that at the end of the book, the reader gets a good practical understanding of the subject.

This book is a comprehensive introduction to the Java programming language, updated thoroughly (more than 35% new and updated) for the latest JDK 5 release. This book shows readers how to build real-world Java applications using the Java JDK. No previous programming experience is required. The author uses numerous step-by-step programming examples to guide readers through the ins and outs of Java development.

Bruce Eckel's Thinking in Java - Fourth Edition, published by Pearson, offers the definitive introduction to object-oriented programming in the language of the World Wide Web. It serves as a reliable guide to both students and professionals. From the fundamentals of Java syntax to its most advanced features, Thinking in Java is designed to teach one simple step at a time. The book also contains 12 new chapters including chapters on Generics and Arrays.

Java Concurrency In Practice is a means of understanding concurrency and its related tools in J2SE 5.0 for developers. Concurrency means that several programs or parts of program can run parallely, and thereby improve the program's throughput and interactivity.

The book is not intended to serve as an introductory book preaching the fundamentals of Java concurrency, nor a voluminous reference that tells its readers everything about concurrency. Practising developers who wish to understand concurrency and learn its tools better are the intended audience.

The contents of Java Concurrency In Practice are divided into 4 parts and comprise 15 chapters. The book begins by introducing the fundamentals in its first chapter and slowly develops the material so that it leads into more advanced topics towards the end. A few of the topics in the book are Task Execution, GUI Applications, Explicit Locks, and Building Blocks.

The book Java Puzzlers: Traps, Pitfalls, And Corner Cases is targeted towards the Java community, helping coders to better themselves by providing a number of puzzles pertaining to the language.

In this book, the authors inform the java programmer about the common pitfalls that may be present in this language. Apart from that, the readers are also given an unbiased review of the language. The puzzles present in this book are highly engrossing for the coder, allowing them to have fun as well as better themselves as coders.

The book contains more than 100 puzzlers, which are very challenging as well as practical. The puzzles present in this book are in the form of code, which seems to perform a particular task, but actually does something very different. The job of the reader is to determine the functioning of the piece of code prior to running it.

Some of the topics covered in this book include Loopy Puzzlers, Puzzlers with Character, Expressive Puzzlers, and Library Puzzlers. In short, this book is highly recommended for java programmers, whether novice or advanced.