The entire existing GUI for the Kindle runs on an embedded flavor of Java. So, I m pretty much assuming it s Java based. There may also be some security reasons (DRM, Whispernet abuse?) to confine people to a Java VM...
I really don t like this. Java is far from my first choice for embedded platforms. Why put a VM on a resource-limited device? Once, I played with an 8051 with a Java VM on it! Can you imagine?!? (I used the C route)
The one Java app I tried to port to the Kindle failed miserably because the embedded Java platform didn t support generics (which were used EVERYWHERE) or assertions (okay, not a big deal). Write once run anywhere? Riiight.
A huge number of platforms are running Linux, and it s dead easy to use Qt on just about any embedded Linux platform. I d say Qt is better at cross platform than Java at this point. I am somewhat biased, though. :)