文章目录
- 1. JVM(Java Virtual Machine):
- 2. DVM(Dalvik Virtual Machine):
-
- 与JVM区别
-
- 基于的架构不同
- 执行的字节码不同
- 3. ART(Android Runtime):
-
- 与DVM的区别
- 4. 什么是JIT?
-
- 4.1 什么是JIT
- 4.2 JIT 编译的优势包括:
- 4.3 对于 DVM 和 ART,它们在 JIT(Just-In-Time)编译方面有哪些不同的实现?
- 总结
- 扩展阅读
JVM(Java Virtual Machine)、DVM(Dalvik Virtual Machine)和ART(Android Runtime)
是三种不同的虚拟机技术,用于在不同的环境中执行Java代码。它们之间的主要区别如下:
1. JVM(Java Virtual Machine):
- JVM是Sun Microsystems开发的Java虚拟机,用于在桌面和服务器环境中执行Java程序。
- JVM使用即时编译(Just-In-Time Compilation,JIT)来将Java字节码转换为机器码,并在运行时动态地执行代码。
- JVM主要用于执行Java程序,提供了内存管理、垃圾回收等功能。
JVM是基于栈的虚拟机,对于基于栈的虚拟机来说,每一个运行时的线程,都有一个独立的栈。
栈中记录了方法调用的历史,每有一次方法调用,栈中便会多一个栈桢。
最顶部的栈称作当前栈桢,其代表着当前执行的方法。
基于栈的虚拟机通过操作数栈进行所有操作。
在VM中执行字节码,将
int a =