5 ms·
There is no Java bytecode or JVM on any Android device.
by bitmapbrother 9y ago
There is no Java bytecode or JVM on any Android device.
- qubex 9y agoCan you explain? I thought Dalvik and ART are Java virtual machines. I'm no expert on Android but I thought this was widely known and accepted.
- pjmlp 9y agoNo, they make use of DEX bytecodes and depending on the specific Android version they are only pure interpreters, JIT, AOT compilers or a mix of everything with PGO. https://source.android.com/devices/tech/dalvik/ https://source.android.com/devices/tech/dalvik/ https://source.android.com/devices/tech/dalvik/jit-compiler https://source.android.com/devices/tech/dalvik/jit-compiler
- qubex 9y agoI know ART features an AOT compiler... So basically they're not JVMs and Java bytecode but rather JVM and bytecode analogues that serve roughly the same purpose (post-Dalvik AOT ART notwithstanding).
- bitmapbrother 9y agoART is register based hybrid JIT/AOT runtime that was designed for memory constrained embedded devices. You cannot run Java applications on an Android device because ART is not compatible with the JVM and vice versa. Additionally, ART processes DEX bytecode and not Java bytecode.