These pages explain what Java is, how to go about developing in it, and tools and "frameworks" that you'll require, with comparisons between different options.
The list of Java links below is a
bit ad hoc and no where near complete nor representative of all the
excellent java sites. Unless otherwise stated, these links are to open source software, and are also best-of-breed unless otherwise stated. Please tell
me of any good links to add below.
Basics:
you can download Sun Java,
which allows Java programs to run on your
machine (Java is cross platform). Do not confuse Java and the ineptly-named JavaScript, arguably more correctly called EMCAScript. Sun is planning on releasing Java under an open source licence at time of writing.
Java is not the only language that runs on the JVM. Groovy is a scripting language designed to be completely compatible with Java. It's a pretty good language too.
Maven is a Java build tool and much more. Highly recommended, as Maven makes life much easier than writing endless apache ant code. Maven is also much more powerful, and if you need ant for something, you can use it within Maven. If you are doing this too much though, you are not using Maven correctly. Use Maven version 2 or higher.
Java-based video option for Linux. JVLC is a java wrapper around VideoLAN Client (VLC). On Linux systems JVLC allows Video to be played within Java Swing panels. JVLC may not be for beginner devs though, at time of writing.
The iBATIS Data Mapper framework makes it easier to use a database with Java applications". iBatis is worth considering where you have an existing database that you need to subsequently need to integrate with.
XML
Welcome to the world of XMHell. Prepare to see your productivity plummet! :) Xerces is for XML parsing with DOM and SAX; Xalan for processing XSLT;
JDOM - a Java-based solution for accessing, manipulating, and outputting XML data;
FOP for document generation, e.g. PDF's, etc. Jakarta Commons Digester is a sophisticated XML parsing framework. Betwixt is a simple object-to-XML wrapper that uses Digester behind the scenes. Alternatively there is XMLBeans that binds XML to Java types,
"HermesJMS is a console that helps you interact with JMS providers making it easy to browse or seach queues and topics, copy messages around and delete them."