对于java程序员来说,dalvik也许有些陌生,但又貌似听过。如果接触过Android的开发者,就对dalvik了解多一些。作为google公司开发并开源的java虚拟机,其定位就是作为嵌入式设备运行的虚拟机,支撑整个Android的运行时环境,或者说是一个j2se 的vm。
dalvik其实备受争议,一方面是作为分裂java阵营的典型,另一方面,虚拟机对嵌入式设备要求较高,也是Android手机目前还没有大行其道的一个原因。
google公司是个伟大的公司,很多项目是一盘棋,不能割裂,Android 、gae、chrome、google wave 从项目安排,内部资源共享,都是下了很大功夫进行设计和整合。
看了gae的api,可以断言,其运行的虚拟机就是dalvik。
讲了这么多,说明dalvik不仅仅是个j2se虚拟机,j2ee也同样玩得转。
通过一段时间的研究实践,很幸运,终于在dalvik上面运行tomcat成功,虽然只是一个demo。由于其使用dex风格的类文件,动态解析class还需要做些工作。
貌似这个是第一个做这个工作的报道。如果你对此有兴趣,可以继续关注博客。
分享到:
相关推荐
dalvik-混淆器 一组用于混淆和操作 dex 文件的工具/脚本 该工具集已用于创建 Android Proof-of-Concept 破解版。 它还被用于创建测试 APK 文件,以针对 Android 的常见逆向工程工具评估这种混淆技术。 有关此混淆...
1. **基础概念**:Dalvik opcodes是一系列预定义的整数值,每个值代表一个特定的虚拟机操作,如加载或存储变量、算术运算、控制流程、对象操作等。它们类似于Java虚拟机(JVM)中的字节码,但为Android平台进行了...
Dalvik虚拟机是Android操作系统中用于执行应用程序的虚拟机。它的作用主要是解释执行Android应用程序中的Dalvik可执行文件(DEX格式),使得Java程序能够在Android设备上运行。Dalvik虚拟机与Java虚拟机(JVM)有很...
**Android Dalvik虚拟机讲义** Android Dalvik虚拟机是Android操作系统的核心组成部分,它是Google为移动设备特别设计的一种高效、轻量级的虚拟机。在Android系统中,应用程序以Dalvik可执行文件(.dex)的形式运行...
**Android的Dalvik虚拟机(Dalvik Virtual Machine, DVM)是Android系统中运行应用程序的核心组件之一。在Android系统早期版本中,应用是以Dalvik字节码(Dalvik Bytecode)的形式存储和执行的,而DEX(Dalvik ...
5. **J2ME CLDC API支持**:Dalvik兼容J2ME的CLDC(Connected Limited Device Configuration)API,允许开发者为小型设备编写应用。 6. **多线程支持**:Dalvik虚拟机支持多线程,使得应用程序可以并发执行。 ...
1. **Dalvik虚拟机架构**:Dalvik虚拟机基于寄存器架构,不同于传统的基于栈的虚拟机。这种设计减少了内存分配和弹栈的操作,提高了执行速度。源代码中包含了类加载器、字节码解释器、垃圾回收机制等关键模块。 2. ...
Android Dalvik 文件编译方法 Android Dalvik 文件编译方法是 Android 应用程序开发过程中的一步关键步骤。 Dalvik 是 Android 操作系统中的虚拟机字节码格式,所有 Android 应用程序都需要将 Java 代码编译成 ...
【dalvik_hook_demo】是一个关于Android系统中Dalvik Hook技术的实际应用示例。在这个项目中,开发者通过hook技术对Dalvik虚拟机进行了深入的操作,展示了如何在运行时改变应用程序的行为,以此来达到调试、监控或者...
1. **Dalvik虚拟机**:Dalvik是Google为Android设计的一个专有虚拟机,其设计目标是在移动设备上高效地运行Java应用程序。与标准的Java虚拟机(JVM)不同,Dalvik执行的是优化过的.dex格式的字节码,这种格式更适合...
标题中的“Bytecode for the Dalvik VM”是指与Dalvik虚拟机相关的字节码技术。在Android操作系统中,Dalvik VM是一种专为移动设备优化的虚拟机,它执行基于 Dex(Dalvik Executable)格式的字节码。下面将详细阐述...
6. **跨平台执行**:Dalvik虚拟机在Linux-x86上的实现,展示了Android应用的跨平台能力,这在早期Android系统中尤为重要,因为那时Android设备主要集中在ARM架构,而开发者可能使用各种不同平台进行开发。...
Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。Android应用程序中的Dalvik虚拟机实例实际上是从Zygote进程的地址空间拷贝而来的,这样就可以加快Android应用...
- **执行字节码不同**:Dalvik虚拟机运行的是Dalvik字节码,而Java虚拟机运行的是Java字节码。Dalvik字节码是由Java字节码转换而来并被打包到DEX (Dalvik Executable) 文件中的。 - **DEX文件优化**:与传统的Java...
《安卓虚拟机Dalvik指令集详解》 Dalvik虚拟机是Android系统的核心组成部分,它运行的是Dalvik字节码,这种字节码是由特定的指令集定义的。本篇文章将深入探讨Dalvik虚拟机的指令集,特别是涉及到的寄存器操作、...
《Android 4.0.4 Dalvik字节码详解》 在Android系统中,Dalvik虚拟机是核心组件之一,负责执行应用程序的字节码。本文档将深入探讨Android 4.0.4版本中Dalvik虚拟机所使用的字节码指令集,帮助开发者更好地理解和...
4. **优化的类加载**:Dalvik采用按需加载的方式,只有当类被引用时才会加载,降低了内存占用。 5. **安全特性**:每个应用都运行在自己的Dalvik进程中,具有独立的内存空间,增强了系统的安全性。 6. **ART ...
1. Dalvik虚拟机:Dalvik虚拟机是Google公司自己设计用于Android平台的Java虚拟机,它是Android系统的核心组件之一。 2. SEP0611平台:SEP0611平台是一个基于国产自主CPU的SoC平台,具有高性能和低功耗的特点。 3....
**Android Dalvik 源码解析** Android操作系统以其开源特性吸引了众多开发者,而Dalvik虚拟机作为Android系统的核心组成部分,负责运行应用程序。了解Dalvik的源码有助于我们深入理解Android应用的执行机制,优化...
A:Dalvik虚拟机 B: 函数库 C:Java虚拟机 D:SQLite 答案: 【Dalvik虚拟机】 3、单选题: 从2013年5月份,Google推出了基于IntelliJ IDEA的android集成环境( ) 选项: A: Tomcat+Eclipse B:Eclipse+Kotlin C:Androi