Yep...that's part of the overhead involved in setting up the JVM, loading all the bytecode, initializing it and then letting it run. I guess it's up to Sun to optimize this process, but I wouldn't expect significant improvement unless they can implement some safe 'lazy optimization' for startup. But it's a 600MHz ARM chip....whaddayagonnado? Imagine how treacly that same code would run on a 600Mhz pentium The important thing is that it runs respectably well once it is loaded. I'm pleased with it. I think this leads to the inevitable conclusion that Java on the N900 should be used sparingly and with due consideration to the bandwidth limits we face. My strategy, if I use it at all, will be to prefer crafting very thin, lightweight clients that provide a visual surface for a native core...accessed via JNI/sockets.