Java is an object-oriented programming language developed by Sun. It shares many superficial similarities with C, C++, and Objective C. In order to run Java, you need a Java Virtual Machine (JVM), a set of Java classes, and some native glue code. There are several editions of Java available - the most relevent ones to handheld use are the J2SE Desktop edition and the J2ME Mobile edition. In particular, most Java games are written for use with J2ME so that they can run on mobile phones.
Although Sun's Java implementations are not available for use on the GP2x, there are a number of good open source Java implmentations available. This page lists some of them. If you develope a working port of Java to the GP2x, please link to it from this page.
VM - GP2X Ports
SableVM - http://sablevm.org/
Kaffe - http://www.kaffe.org/
Jikes - http://jikes.sourceforge.net/
GNU Classpath - http://www.gnu.org/software/classpath/
AWT - Odonata AWT - http://odonata.tangency.co.uk/
SDL - sdljava - http://sdljava.sourceforge.net/
MicroEmulator - http://www.microemu.org/