In collaboration with DataArt, we have prepared a list of Java literature for beginners.
- Core Java Volume I — Fundamentals by Cay S. Horstmann
- Effective Java Programming Language Guide by Joshua Bloch
- Applied Java Patterns by Stephen Stelting & Olav Maassen
- Thinking in Java by Bruce Eckel
- Refactoring. Improving the Design of Existing Code by Martin Fowler
- The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming by Benjamin J. Evans and Martijn Verburg
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- The Java Language Specification by James Gosling
1.Core Java Volume I — Fundamentals by Cay S. Horstmann
In this book:
- master foundational techniques, idioms, and best practices for writing superior Java code;
- leverage the power of interfaces, lambda expressions, and inner classes;
- harden programs through effective exception handling and debugging;
- write safer, more reusable code with generic programming;
- improve performance and efficiency with Java’s standard collections;
- build cross-platform GUIs with the Swing toolkit;
- fully utilize multicore processors with Java’s improved concurrency.
2.Effective Java Programming Language Guide by Joshua Bloch
Featuring fifty-seven valuable rules of thumb, Effective Java Programming Language Guide contains working solutions to the programming challenges most developers encounter each day. Offering comprehensive descriptions of techniques used by the experts who developed the Java platform, this book reveals what to do – and what not to do – in order to produce clear, robust and efficient code.
3.Applied Java Patterns by Stephen Stelting & Olav Maassen
Sun Microsystems experts Steve Stelting and Olav Maassen bring together today’s best pattern-based techniques and demonstrate pattern use for a variety of business systems. This practical guide features proven techniques for all types of patterns, from system architecture to single classes. In addition, they identify patterns and present techniques for pattern use in the core Java APIs as well as the APIs for distributed development.
APIs covered include:
- Event handling
- Collection API
- JDBC
- RMI
- CORBA
Applied Java Patterns also features a section on pattern use in systems built with J2EE and JINI technologies, and coverage of the servlet, JSP, EJB, and JavaSpaces APIs.
4.Thinking in Java by Bruce Eckel
The classic object-oriented introduction for beginners and experts alike, fully updated for Java SE5/6 with many new examples and chapters.
In this book:
- introduction to XML for data transfer; SWT, Flash for user interfaces;
- completely rewritten concurrency chapter gives you a solid grasp of threading fundamentals;
- 500+ working Java programs in 700+ compiling files, rewritten for this edition and Java SE5/6;
- thorough coverage of fundamentals; demonstrates advanced topics;
- explains sound object-oriented principles.
5.Refactoring. Improving the Design of Existing Code by Martin Fowler
This book shows how refactoring can make object-oriented code simpler and easier to maintain. The best thing about Refactoring is its remarkably clear presentation, along with excellent nuts-and-bolts advice, from object expert Martin Fowler. By doing them in small steps you reduce the risk of introducing errors. You also avoid having the system broken while you are carrying out the restructuring – which allows you to gradually refactor a system over an extended period of time.
6.The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming by Benjamin J. Evans and Martijn Verburg
The Well-Grounded Java Developer offers:
- a fresh and practical look at new Java 7 features;
- new JVM languages
- the array of supporting technologies you need for the next generation of Java-based software.
You will find clear examples that are practical and that help you dig into dozens of valuable development techniques showcasing modern approaches to the dev process, concurrency, performance, and much more.
7.Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code.
You this book you will find out:
- How to write good code and how to transform bad code into good code?
- How to create good names, good functions, good objects, and good classes?
- How to format code for maximum readability?
- How to implement complete error handling without obscuring code logic?
8.The Java Language Specification by James Gosling
The book provides complete, accurate, and detailed coverage of the Java programming language. The book also includes many explanatory notes, and carefully distinguishes the formal rules of the language from the practical behavior of compilers.