To compile a java program run 'javac -source 1.5 HelloWorld.java'
To run a java program run 'java HelloWorld'
If you would like to automate the compilation of your java code, the standard java mechanism for this is ant, not automake. RPMs are available at Jpackage.org
For more information about the DOT graphing program visit here or here (for rpms).
To learn more about java, read the appropriate tutorial. In general, the compiler requires only a basic knowledge of Java, since the only parts of the standard library that we use are java.lang.*, java.util.*, and java.io. To learn more about generics read this. This provides a high-level overview of the new features in java 1.5. Java generics are similar to C++ generics except that type variable information is not retained at runtime. There are several places in the compiler where such information is explicitly given through the Class class (see java.lang.Class).
Additional links: