Useful links for Java beginners

Official resources

Oracle Technology Network for Java Developers

This is the official "home" of Java at Oracle's site.

The Java™ Tutorials

This is the official Java tutorial from Oracle.

Java SE 5 DocumentationJava SE 5 API Specification

Java SE 6 DocumentationJava SE 6 API Specification

Java SE 7 DocumentationJava SE 7 API SpecificationJava SE 7 Features and Enhancements

Java SE 8 DocumentationJava SE 8 API SpecificationWhat's New in JDK 8

This is the official documentation and API specification for Java Standard Editions 5, 6, 7 and 8. For other versions/languages, please see Java SE APIs & Documentation.

You can also download the documentation for offline use:

Java SE Development Kit 7 Documentation

Java SE Development Kit 8 Documentation

Please, keep always handy this documentation because it's the primary source of information to look at when you write Java code!

Basic/important concepts

If you are starting with Java, there are some concepts that are really very important to know.
Don't start coding if you don't have well understood these concepts!

What Is a Package? (from The Java™ Tutorials)

This document describes what are Java packages.

How Classes are Found

This document describes how Java classes are found by the JVM.

Code Conventions for the Java Programming Language

Conventions, in general, exist for good reasons. Sun Microsystems originally has established a set of standard conventions for Java source codes. If you follow these conventions, your code not only will be appreciated but will also be more readable by thousand of other developers!
So please, strive to follow these conventions as much as you can.

IDEs

An Integrated development environment (IDE) is a software that generally provide a complete and powerful set of tools for software development. There are several well known IDEs for Java and they are also "free".

Note: if you're really beginning with Java, you should not use an IDE for some time. Instead, you should use any simple but decent text editor (ConTEXT, Notepad++, jEdit, gedit, etc...). and compile/run from a command prompt using directly the JDK tools.
You can think that it's a bit boring, but it is very formative! When you are comfortable with Java, then choose an IDE.

Eclipse

Eclipse is developed by the Eclipse Foundation. It is one of the best IDEs for Java, being completely customizable and extensible (via plugins).

NetBeans

NetBeans is another well known IDE for Java, developed by Oracle Corporation.

IntelliJ IDEA

NetBeans is another well known IDE for Java, developed by JetBrains.