References

Here's a list of resources for Java programmers.

Java 10 Documentation - Oracle.

JSE Javadoc - Oracle.

Java Language Specification - James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Alex Buckley, Daniel Smith.

stackoverflow.com - An outstanding resource for technical problems of all sorts.

Javadoc Style Guide - Oracle.

Java Look And Feel Guidelines - Oracle.

Java articles - Oracle.

JUnit Testing Framework - Kent Beck, Erich Gamma, and others.

Apache Maven Build Tool

Apache Ant Build Tool - (not as widely used nowadays).

Apache Tomcat - Popular and robust servlet container, for implementing web apps.

HTML Specification

HTML Validator

CSS Validator

caniuse.com - view browser support for specific features.

Eclipse IDE - an IDE from IBM.

IntelliJ IDEA - an IDE from JetBrains.

Notepad++ - A text editor.

Putty - by Simon Tatham. Secure shell and secure ftp client.

Web Site Security Guidelines - Open Web Application Security Project. How to keep your web apps secure, and avoid the most common mistakes.

Portability Cookbook - Oracle

Java Community Process - jcp.org.

developerWorks - IBM.

Regular Expression Builder

JavaCC Parser Generator

Books:

Effective Java - Joshua Bloch, [Addison Wesley], 0-321-35668-3. Intermediate level. Probably the best single reference for important core Java coding techniques.

Java Programming Language - Arnold, Gosling, Holmes, [Addison Wesley], 0-321-34980-6.

Head First Java - Kathy Sierra, Bert Bates, [Paw Prints], 0596009208. An excellent text for beginners.

Code Complete - Steve McConnell, [Microsoft Press], 0-7356-1967-0. Although written many years ago, many of the core ideas of this classic text can be applied to almost any programming context.

The Pragmatic Programmer - Andrew Hunt, David Thomas, [Addison Wesley], 0-201-61622-X. Part of an excellent series of practical texts.

Design Patterns - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, [Addison Wesley], 0-201-63361-2. A classic text from the 1990s.

Java Concurrency in Practice - Brian Goetz, and others, [Addison Wesley], 0-321-34960-1. A bible for multi-threaded programming.

Designing Web Usability - Jakob Nielsen, [New Riders], 1-56205-810-X. By a guru of web design.

Refactoring - Martin Fowler, [Addison Wesley], 0-201-48567-2.

Effective Enterprise Java - Ted Neward, [Addison Wesley], 0-321-13000-6.

Patterns of Enterprise Application Architecture - Martin Fowler and others, [Addison Wesley], 0-321-12742-0.