Java Resources
Beginner Resources
Here's a chart of the main Java content on Learneroo:
You can view additional tutorials, check out the Reference/Tutorial of common Java classes or just practice solving problems and games in Java. Once you've gone through tutorials and challenges on Learneroo, you may be interested in additional resources below.
Free Beginner Books (Older Versions)
While you can’t learn programming just by reading a book, you might want to learn from a book and practice on a computer as you go through it. These are two free books for learning programming with Java:
Paid Beginner Books
It may be worth paying for an actual book, if you like reading from dead trees:
- Head First Java, 2nd Edition - If you like books with more random stuff thrown in, then HeadsFirst is for you.
- Objects First with Java - This is a standard textbook in many Intro to Computers courses.
Java Programming Bootcamp
It helps to have a mentor to provide structure and feedback, which is why a "programming bootcamp" can be a good idea:
- Software Craftsmanship Guild - Good choice if you're in Ohio.
- Learneroo Java Bootcamp - Learn Java online withe the help of a mentor!
Advanced Resources
Official Resources
If (or when) you have programming experience, you'll likely want to use the official Java resources:
- Official Java Tutorials - If you know some programming, you can learn some Java with the official tutorials.
- Java API Documentation - Documentation for Java’s extensive libraries of code.
- Java The Complete Reference - Comprehensive, but easy-to-read book about Java..
Advanced Books
- Effective Java - The classic book for Java best practices.
- The Well-Grounded Java Developer - Covers Java 7 features, JVM languages, concurrency, testing and more.
- Java Concurrency in Practice - Learn how to take advantage of multiple processors in Java programs.
More Java
These resources covered the core Java language, but there's a lot more to Java software development.
Additional Libraries
There are many other useful Java libraries besides the standard one. Google Guava is a general-purpose library adds many features missing in the standard library. Other libraries are focused on specific use-cases. To bundle libraries in your Java project, use Apache Maven, which you can browse through here.
Other Projects
- Interested in developing Android apps? See the official getting started guide, and Programming Android if you want a book.
Interested in Java web or software development at large companies? Find out about some different Java frameworks in this StackOverflow question or read about some different Java technologies on Wikipedia:
- Java EE - Oracle's enterprise Java computing platform which including network and web services, and other large-scale network applications.
- WildFly - WildFly, formerly known as JBoss, is an application server written in Java and is executable on top of the Java EE.
- Spring Framework - An application framework and inversion of control container for the Java platform. It has become a popular alternative to the Enterprise JavaBean (EJB) model.