This text will introduce useful learning resources for someones who want to learn Java programming language. Because resources are continuously updated, this writing is too keep up.
Official Java Documentation
Oracle, the company owning Java, provides qualified Java Tutorials. The JavaTM Tutorials describes the features in Java SE 8, and is continuously updated to keep up with changes to the Java platform.
Recommended Java Books
Effective Java: A Programming Language Guide (2nd Edition)
This is the book you should read first if you want to learn Java.
Are you looking for a deeper understanding of the Java™ programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further! Effective Java™, Second Edition, brings together seventy-eight indispensable programmer’s rules of thumb: working, best-practice solutions for the programming challenges you encounter every day. This highly anticipated new edition of the classic, Jolt Award-winning work has been thoroughly updated to cover Java SE 5 and Java SE 6 features introduced since the first edition. Bloch explores new design patterns and language idioms, showing you how to make the most of features ranging from generics to enums, annotations to autoboxing.
Java: The Complete Reference, Ninth Edition
This is a good book for someone who is learning Java (or any other programming language) for the first time. It’s updated for the latest major release of Java (Java 8).
The book covers everything you need to know about Java programming, including its syntax, keywords and fundamental programming principles along with Java APIs, applets and much more.
Thinking in Java (4th Edition)
If you are switching to Java from another programming language, this book is for you. If you are a beginner in programming, you can use this book along with another book.
Thinking in Java introduces all of the language’s fundamentals, one step at a time, using to-the-point code examples. More than virtually any other book, Thinking in Java helps you understand not just what to do — but why.
One of the best Java books every Java programmer should get. That being said, this book doesn’t cover features of Java 8.
Java Cookbook (3rd Edition)
From lambda expressions and JavaFX 8 to new support for network programming and mobile development, Java 8 brings a wealth of changes. This cookbook helps you get up to speed right away with hundreds of hands-on recipes across a broad range of Java topics. You’ll learn useful techniques for everything from debugging and data structures to GUI development and functional programming.
Each recipe includes self-contained code solutions that you can freely use, along with a discussion of how and why they work. If you are familiar with Java basics, this cookbook will bolster your knowledge of the language in general and Java 8’s main APIs in particular.
Other online learning resources
Nowadays there are many resources online that offer courses and tutorials to learn how to program. However there are not many that teach you how to program in Java, therefore in this article I am going to focus on those resources that offers lessons on how to program in Java.