Java is one of the most popular programming language nowadays. There are plenty of books for beginners. But to those who have programmed with Java for a while, some of them may look somehow simple and redundant. The beginner’s books do not bring fresh and interesting ideas. However, advanced Java books are not always right at hand, not partially because they require more skills, experienced, and deep thinkers to write.
In this post, I would like to share my experience with only advanced level of Java, which means books like “Thinking in Java” or “Head First Java” won’t be listed although they are very good for beginners. Also I try to avoid listing Java books for specific software or frameworks or certifications, which I assume is not “pure” Java.
Java in a Nutshell
It is a more reference than a must read.
The elements of Java style
It is directed at anyone who writes Java code, by furnishing a set of rules for Java practitioners, by offering a collection of standards, conventions, and guidelines for writing solid Java code, and by illustrating how to write solid Java code that will be easy to understand, maintain, and enhance.
This book is really only for deeper understanding Java developer. It brings together seventy-eight indispensable programmer’s rules of thumb: working, best-practice solutions for the programming challenges you encounter every day.
The Java language specification
Written by the inventors of Java, this book not only provide complet and accurate converage of the language, but also includes formal rules of the language from the practical behavior of compilers. You may not get skills by reading it, but what if you want to cross the line and crack Java VM…
Design patterns: elements of reusableobject-oriented software
Actually, examples in this book were written in C++ or smalltalk, but so what? If you want to grow as a developer, you have know Design Patterns, to take advantages of the best practices and experience of others, and learn from those who have face the same problems. There are many other similar books, but they are just doing patching work.
The Pragmatic Programmer: From Journeyman to Master
Again, it is not a book for Java developer only. “The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.”
Patterns of Enterprise Application Architecture
You may have learned design patterns, but not sure how they are used in enterprise frameworks. This book explains common enterprise design patterns.
Refactoring: Improving the Design of Existing Code
If you have programmed for years, you will find this book definitely worth to read. Refactoring can make code more readable and easier to maintain.
OSGi in Action: Creating Modular Applications in Java
For more or less, it is good to know service oriented programming. The first several chapters of this book can give you a nice introduction and concrete examples.
Clean Code: A Handbook of Agile Software Craftsmanship
Last but not least, it is always good to review your coding style. 90% of effort will be spent on maintenance, it is extremely important to make clean code.
Bulletproof Java Code: A Practical Strategy for Developing Functional, Reliable, and Secure Java Code
Use Java? If you do, you know that Java software can be used to drive application logic of Web services or Web applications. Perhaps you use it for desktop applications? Or, embedded devices? Whatever your use of Java code, functional errors are the enemy!
To combat this enemy, your team might already perform functional testing. Even so, you're taking significant risks if you have not yet implemented a comprehensive team-wide quality management strategy. Such a strategy alleviates reliability, security, and performance problems to ensure that your code is free of functionality errors.Read this article to learn about this simple four-step strategy that is proven to make Java code more reliable, more secure, and easier to maintain.