Hacker News new | ask | show | jobs
by wanderr 5901 days ago
Can anyone elaborate on how JIT is new to 2.2 and how that compares to how <=2.1 handles it? I haven't touched Java in ages, but I thought JIT was a fundamental part of how Java works, so I'm a bit confused.
2 comments

Android does not have a JVM. While Android applications are written in Java, and initially compiled to Java bytecode, that bytecode is then translated into Davlik bytecode, and saved to a compact .dex executable, and run in the Davlik virtual machine. The Davlik virtual machine is quite different from the JVM. It is optimized for small devices. It is register-based rather than stack-based. It does not (currently) include a JIT compiler.
Very true, except that it's called Dalvik.
Whoops. Been saying and spelling it wrong for a while. Thank's for pointing that out.
Wow, I had no idea! Thanks for the summary. :)
Yup, seems like a really clever way to give developers a familiar language with a huge library without having to make a deal with Sun (err Oracle) for a JVM license
Isn't the JVM OSS?
Here's an article on this: "Dalvik: how Google routed around Sun’s IP-based licensing restrictions on Java ME" http://www.betaversion.org/~stefano/linotype/news/110/
The clever part is getting anyone to believe that a VM with the exact same semantics as Java doesn't infringe Java patents.
"I thought JIT was a fundamental part of how Java works, so I'm a bit confused."

Suns JDK has had JIT since 1.2 (J2SE in marketspeak), but it is not a prerequisite for Java. It just speeds things up (after a short pause for compile to native).