Java ME

Java Platform, Micro Edition, also known as Java ME and J2ME, is an application environment made with low-spec embedded devices (i.e. cell phones) in mind.

Most feature phones since the early 2000s support Java applets in some form or another, but many of them (such as many Qualcomm-based devices) will only allow you to install OTA and won't recognize a .JAR file sent to the device (e.g. on a SD card or by using Bluetooth OPP/OBEX).

Programs for running Java apps
J2ME Loader for Android is an excellent application for loading and running Java applets on an Android device. It is extensive, easy to set up, and supports pretty much any Java ME applet that you throw at it, however the built-in games from earlier LG phones do not work.

KEmulator is a Java ME emulator for windows that effectively runs the J2ME apps in a standard Java wrapper. Generally speaking it will run apps faster than a real phone from the time, but some apps don't work.

Good phones for running Java apps
Anything under this section is based on opinion, but generally the devices on which are easiest to run Java apps will be listed here.

Blackberry
Most Blackberry phones are good candidates for running Java apps as most of them can install Java apps off of an SD card or the browser.

Since they were for the most part higher end, they should have no problem running most Java apps and high intensity games.

(Tested: Blackberry Curve 8330, Blackberry Curve 9330, Blackberry Bold 9650)

LG
Some Qualcomm GSM phones are good for playing Java ME games, as there are several ways of getting Java apps onto them. The easiest method is to send them over Bluetooth, and then it will automatically prompt the user if they want to install the apps sent. You can also have .JAR files on an SD card or internal storage and it will prompt you to install them. It's also possible to put them in a specific folder of the phone's filesystem using Bitpim, but this varies across phones.

(Tested: LG B442, LG B470, LG Shine)

Nokia
Any Series 40 Nokia that has file transfer functions (e.g. USB, Bluetooth, SD Card slot) will work for running Java games. You can also run .JAR files directly from the SD card, without having to install them to the gallery.

Symbian Nokia phones also natively support Java applets and will work for running Java games.

(Tested: Nokia 6126, Nokia 6650 fold, Nokia 7376)

Sony Ericsson
A100 Platform and A200 Platform Sony Ericsson devices will automatically install any .JAR file that is sent to it. They are generally compatible with most Java games, but may stagger in terms of performance on heavier games (e.g. games with 3D graphics).

(Tested: Sony Ericsson Z520, Sony Ericsson Z750)