`
haitian235
  • 浏览: 62487 次
  • 性别: Icon_minigender_1
  • 来自: 海南
社区版块
存档分类
最新评论

JVM和Dalvik的区别

阅读更多
基于平台不同:Dalvik基于寄存器,而JVM基于栈,KVM基于栈
运行环境不同:在有限的内存,允许同时运行多个Dalvik实例,并且每一个Dalvik应用作为一个独立的Linux进程执行。
              JVM只能运行一个JVM实例,JVM因平台的不一样进程也不一样。
              KVM只能一个实例运行。
运行语言:    Dalvik可以运行不同的语言,如java和Scala。
              JVM可以运行不同的语言,如java和Python语言
              KVM运行j2me语言
运行格式不同:JVM一般是.class,Dalvik是.dex,KVM一般是.class
编写语言:Dalvik是一般由C或C++编写,JVM一般是C++或java编写,KVM一般是C或C++
效率不同:Dalvik是基于寄存器所以效率高于基于栈的JVM,KVM
加载函数不同:Dalvik是Dexfile加载class类文件,JVM和KVM是ClassLoader
分享到:
评论

相关推荐

    JVM DVM的区别

    综上所述,JVM与DVM之间存在着明显的区别,这些区别反映了它们各自的设计目标和应用场景。JVM适用于需要跨平台运行的大型企业级应用,而DVM则更专注于移动设备上的高效运行。了解这两种虚拟机之间的差异对于移动应用...

    Dalvik虚拟机简要介绍

    Dalvik虚拟机与Java虚拟机(JVM)有很多不同,特别是针对移动设备做了优化和调整。 Dalvik虚拟机的运行时环境是专门为资源受限的设备设计的,如Android手机和平板电脑。与JVM依赖于class文件不同,Dalvik虚拟机运行...

    dalvik-bytecode-4.0.4 文档

    与传统的Java虚拟机(JVM)不同,Dalvik字节码采用.dex格式,优化了内存占用和加载速度,更适合移动设备的资源限制。 二、Dalvik字节码结构 Dalvik字节码是一种简化的、紧凑的指令集,每条指令通常占16位,由一个8...

    Dalvik opcodes

    7. **安全和反编译**:Dalvik opcodes也是Android逆向工程的一部分,开发者和安全研究人员通过分析Dalvik字节码来理解应用程序的行为,甚至可能发现漏洞或恶意行为。 通过深入理解和掌握Dalvik opcodes,开发者可以...

    Android编程之虚拟机Dalvik教程[PDF].rar

    与传统的JVM不同,Dalvik被优化以适应移动设备的资源限制,如内存和处理器性能。它采用了.dex(Dalvik Executable)文件格式,这种格式可以更有效地在内存有限的设备上运行。 Dalvik虚拟机的工作原理主要包括以下几...

    “Dalvik VM的字节码”,“Dalvik VM指令格式”

    Dalvik字节码是一种专门为Android设计的中间代码,与Java虚拟机(JVM)中的Java字节码类似,但有所不同。它优化了内存使用,更适合移动设备的硬件限制。DEX文件包含了类、方法和字段信息,以及这些元素的字节码序列...

    Android Dalvik虚拟机结构及机制剖析 第2卷.pdf

    Dalvik与传统JVM的一个重要区别在于它对Java字节码的转换方式,它使用的是DEX(Dalvik Executable)格式,这是一种优化过的字节码格式,允许在有限的硬件资源上运行。 2. DEX文件格式 DEX格式是一种为了适应Android...

    jvm特性与java特性

    Android最初使用Dalvik虚拟机来执行Android应用程序,虽然Dalvik与传统的JVM在设计上有所不同,但随着Android的发展,现在主流Android应用也是基于Java或Kotlin开发,并且在Android Runtime (ART)下运行,ART替代了...

    Android Dalvik

    它不完全遵循Java虚拟机(JVM)的标准,而是进行了优化,以便在内存和处理能力有限的设备上运行。 2. **DEX文件格式** .dex文件是Dalvik虚拟机专用的二进制格式,它将Java字节码转换为Dalvik字节码,这种格式旨在...

    dalvik.zip

    相比于JVM中的Class文件,DEX文件进行了优化,支持多个类在一个文件中,有利于减少内存占用和提高加载效率。 3. **Dalvik优化** 为了适应移动设备有限的资源,Dalvik进行了多方面的优化。例如,它使用了Just-In-...

    Dalvik_VM_Internals.rar_Dalvik pdf_android_dalvik vm_dalvik vm i

    了解和掌握Dalvik虚拟机的内部原理,对于Android开发人员来说至关重要。本篇文章将深入探讨Dalvik虚拟机的结构、工作流程以及与Java虚拟机(JVM)的异同。 首先,Dalvik VM是Google为Android设计的一款轻量级的...

    Android Dalvik源码

    与标准的Java虚拟机(JVM)不同,Dalvik执行的是优化过的.dex格式的字节码,这种格式更适合有限资源的移动设备。 2. **Dalvik Classloader**:类加载器是Dalvik虚拟机的关键部分,它的主要任务是根据类名找到对应的...

    Dalvik指令格式索引表及位描述索引表

    Dalvik字节码是一种特定于Android的指令集,它不同于传统的Java虚拟机(JVM)使用的Java字节码。Dalvik字节码的设计目的是为了在内存有限的设备上提高性能和减少存储需求。每个Dalvik字节码指令都是单字节长度,后面...

    Bytecode for the Dalvik VM

    - 与Java虚拟机(JVM)不同,Dalvik VM运行的是dex文件,而非.class文件。 2. **DEX文件格式**: - Dex文件是Dalvik字节码的容器,它是多个Java类的编译结果合并后的单一文件。 - DEX文件包含了类信息、字段、...

    深入理解Android之dalvik

    与传统的Java虚拟机(如JVM)不同,Dalvik使用.dex(Dalvik Executable)格式的字节码,这种格式更适合移动设备的存储和内存限制。 2. **.dex文件格式**: .dex文件是一种专门为Dalvik设计的优化的字节码格式,它...

    Android虚拟机Dalvik(略谈Android Dalvik虚拟机)

    与传统的Java虚拟机(JVM)相比,Dalvik虚拟机具有显著的特点和优势。 #### 二、Dalvik虚拟机与标准Java虚拟机的主要差异 ##### 1. 架构不同:寄存器与栈结构 Dalvik虚拟机采用了基于寄存器的架构,而标准Java...

    The Dalvik Virtual Machine

    面对这些挑战,Google 决定为 Android 平台采用 Java 作为开发语言的同时,放弃使用标准的 Java ME 和 JVM,转而选择了自定义的部署目标——Dalvik 虚拟机。此外,Google 还选择了一种非标准且有限制的 Java 标准库...

    深入理解Android之dalvik.pdf

    与标准的Java虚拟机(JVM)不同,Dalvik虚拟机是为移动设备优化设计的,支持低内存占用和多实例同时运行。此外,Dalvik执行的是.dex文件格式的字节码,而非标准Java的.class文件格式。 #### 四、Class、Dex、Odex文件...

Global site tag (gtag.js) - Google Analytics