I've been pretty impressed with OpenJDK/IcedTea on the tablets. It is pretty slow, but it is a very complete implementation of Java SE. I haven't attempted it on the N900, but if it were fast enough, it certainly would be the way to go. Note that the Debian armel version linked above might be an excellent place to start with a Maemo port.