Java with support for generic programming in the form of parameterized types. Provides constrained parametric polymorphism, with advantages over some other proposals for adding genericity to Java. [Open Source, GPL] http://www.pmg.lcs.mit.edu/polyj/
Supports load-time and runtime behavioural reflection in Java by allowing classes to be modified by Java code as they are loaded in. [Freeware, source available] http://www.csg.is.titech.ac.jp/~chiba/javassist/
Supports Design By Contract in Java. Discovers "contracts" during class loading and instruments the class bytecodes on-the-fly to check run-time contract violations. [Apache Open Source Licence] http://jcontractor.sourceforge.net/
A variant of Java that adds parametric polymorphism, first-class functions, and class cases and pattern matching to the language. The compiler compiles into Java byte code so the binaries can be run on a normal JVM. [Freeware] http://pizzacompiler.sourceforge.net/
An extension of Java and GJ to support polymophic methods while perserving static type information (no erasure). For research purposes. http://www.cs.rice.edu/~javaplt/nextgen/