`
zzbupt
  • 浏览: 86046 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Dalvik和J2ME相比先进到了哪里?

阅读更多
转载自http://grachel1986.blog.163.com/blog/static/56603893200893113816630/ 

   很多人目前不知道Android的Dalvik虚拟机和Sun J2ME相比先进在哪里?今天GPhone之家就一起给大家分析下Dalvik和J2ME的区别。首先Dalvik虚拟机是Google自己开发的 Java虚拟机,运行在Android平台上。J2ME是Sun公司的移动平台Java VM。

  一、运行环境对比

  Dalvik工作在Linux内核的Android操作系统上,而J2ME工作在目前主流的手机操作系统Symbian、UIQ、Windows Mobile等,目前还不支持iPhone Mac OS。

  二、模拟器

  Dalvik在Android平台上的模拟器为Qemu,而J2ME官方的是WTK,同时摩托罗拉、索尼爱立信、诺基亚都有自己的模拟器,同时Symbian J2ME有更多的扩展类,诺基亚的扩展类兼容性最差。

  三、兼容性

  Dalvik和J2ME相比兼容性算是最大的突破,要知道J2ME的各个手机公司之间的移植就很麻烦,除了分辨率、硬件差异要考虑外,还有很多扩充类的问题。而Android Dalvik工作在Google开放手机联盟中,可以完全脱离硬件困扰。(除了一些差异如QWERTY和触摸屏)

四、运行效率

  这一点是大家最关心的问题,Android Dalvik会把Java Class编码转换为Dex,Dex是Dalvik VM executes的缩写,经过内存和运行效率的优化,而J2ME的为KJAVA,千字节的Java VM所以在资源上控制的也很好,最终性能如何要等到Gphone真机发布做完整评论,不过Dalvik是基于寄存器构架,而JavaME基于栈的,可以缩短编译时间外,在静态做了更多的优化,目前Gphone手机的硬件配置还不确定所以无法用开发板单一测试,但Android工作在ARM9-926上,基本测试出来开发系统应用比一般的非智能手机快很多,和Symbian C++以及WinCE相比仍然有差距。间

五、安全性

  Java一向倡导安全性,从内存分配和高层上看不会有很多危险的操作,这是在J2ME上来看。而Dalvik作为Android平台级开发语言必然会涉及系统权限问题,如Linux的磁盘、用户控制等,不过Android平台通过一个WPF的模型,AndroidManifest.xml文件统一管理,类似Symbian中的能力一样,所以基本可以放心使用。

六、类库完整性

  这一点可以说Sun比较全面,但是我们看到Dalvik实际上是对JME的补充,并不是重写实现,除了显示UI系统又比较大的变革外,其他的还是很兼容的,所以目前版本的Dalvik已经包含了一些重要的特性,如Base64编码、XML DOM、MD5处理,影音解码器、地图控制、全球定位(部分为可选包)

  最后要说明的一点是Android Dalvik最终能否代替J2ME呢?Gphone之家告诉大家,Dalvik仅运行在Android平台,如果开放手机联盟真的开放了Dalvik源码可能形式有所变化,但目前gphone的对手还有强大的iphone和symbian、uiq、以及wince、palm、brew等,所以目前无法做更多评论。

分享到:
评论

相关推荐

    j2me移植android

    然而,随着智能手机的普及,Android成为了主流的操作系统,许多开发者和用户开始寻找将J2ME应用移植到Android平台的方法。本文将详细介绍J2ME应用移植到Android的步骤、挑战以及解决方案。 首先,理解两者之间的...

    Dalvik虚拟机简要介绍

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

    Dalvik VM——Research and Implement on Elastos.ppt

    在Elastos上研究和实现Dalvik虚拟机,可能涉及到如何将Dalvik与Elastos的分布式网络架构集成,确保应用程序的安全执行和数据的可靠性。这可能包括改进Dalvik的性能,适应Elastos的环境,以及解决智能合约和去中心化...

    Android Dalvik文件 编译方法

    Dalvik 文件包含了应用程序的代码、资源和数据,Android 操作系统可以直接执行 Dalvik 文件。 为什么需要编译 Dalvik 文件? 在 Android 应用程序开发过程中,Java 代码需要编译成 Dalvik 字节码格式,否则 ...

    Dalvik虚拟机 PPT版

    Dalvik虚拟机与Java虚拟机共享有差不多的特性,例如,它们都是解释执行,并且支持即时编译(JIT)、垃圾收集(GC)、Java本地方法调用(JNI)和Java远程调试协议(JDWP)等,差别在于两者执行的指令集是不一样的,...

    Android Dalvik虚拟机讲义

    总之,Android Dalvik虚拟机是Android应用运行的基础,它在性能、内存管理和安全性等方面的设计对整个Android生态系统的稳定和高效运行起到了关键作用。通过深入理解和掌握Dalvik虚拟机的工作原理,开发者能够更好地...

    J2ME,J2EE与Android开发学习资料

    Java技术在移动和企业应用开发领域占据着重要地位,其中J2ME、J2EE和Android是三个关键的分支。本学习资料集涵盖了这三个领域的核心概念、技术和实践,旨在帮助开发者深入理解并掌握它们。 首先,J2ME(Java 2 ...

    Dalvik指令集ppt

    Dalvik字节码是由Java字节码转换而来并被打包到DEX (Dalvik Executable) 文件中的。 - **DEX文件优化**:与传统的Java程序相比,Dalvik虚拟机使用的DEX文件体积更小。这是因为dx工具会对Java类文件进行重排序,消除...

    dalvik-bytecode-4.0.4 文档

    本文档将深入探讨Android 4.0.4版本中Dalvik虚拟机所使用的字节码指令集,帮助开发者更好地理解和优化应用程序性能。 一、Dalvik虚拟机概述 Dalvik虚拟机是Google为Android系统设计的轻量级Java虚拟机,其主要任务...

    dalvik_hook_demo

    通常,这涉及到两个关键部分:Method Hook和System Call Hook。Method Hook主要针对Java层的方法,而System Call Hook则针对C/C++层的系统调用。 1. **Method Hook**:在Java层,我们可以使用如Xposed框架这样的...

    Dalvik源码

    它可以让我们深入到系统底层,找出应用崩溃的原因,分析恶意软件的行为,或者对第三方库进行修改和定制。 **7. 社区与工具支持** Android开放源码项目(AOSP)提供了Dalvik的完整源码,开发者可以在GitHub上查阅和...

    android-dalvik.rar

    与传统的Java虚拟机相比,Dalvik针对移动设备的低内存和处理器性能进行了优化。 二、.DEX文件格式 Dalvik虚拟机执行的是Dalvik Executable (DEX) 文件,它包含了类信息、常量池、方法和字段定义等。DEX文件通过...

    虚拟机 dalvik4.2 源代码

    在Android 4.2版本中,Dalvik虚拟机进一步优化,提升了性能和效率。这里我们将深入探讨Dalvik虚拟机的源代码,以及它在Android 4.2中的关键特性。 1. **Dalvik虚拟机架构**:Dalvik虚拟机基于寄存器架构,不同于...

    dalvik.zip

    Dalvik使用了“按需加载”的策略,只有当类被实际引用时才会加载到内存中,降低了启动时间和内存占用。 7. **Dalvik调试工具** Dalvik提供了Dalvik Debug Monitor Service (DDMS),它是Android开发者用于调试应用...

    android上的j2me sdk1.zip

    而Android是基于Linux的开源操作系统,拥有丰富的API和更强大的硬件支持,使用Java语言进行开发,但使用的是Dalvik虚拟机而非JVM。 **Android上的J2ME SDK移植** 移植J2ME到Android通常涉及以下步骤: 1. **API...

    Android Dalvik

    与Dalvik相比,ART降低了运行时的开销,但会占用更多的存储空间。 8. **Dex优化工具** Android Studio内置的Dex优化工具,如ProGuard和R8,用于混淆、优化和压缩应用的.dex文件,减少APK大小,同时保护代码安全。 ...

    进入 Android Dalvik 虚拟机

    进入 Android Dalvik 虚拟机,android dalvik介绍 Dalvik 虚拟机的特点——掌握 Android 程序的运行原理 Android 系统的架构采用分层思想,这样的好处是拥有减少各层之间的依赖性、便于独 立分发、容易收敛问题和...

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

    在Android系统早期版本中,应用是以Dalvik字节码(Dalvik Bytecode)的形式存储和执行的,而DEX(Dalvik Executable)文件就是这种字节码的载体。本篇文章将深入探讨Dalvik VM的字节码及其指令格式,基于Android ...

    j2me基础知识测试题

    - 实际上,J2ME中的图像处理通常会涉及到对色彩深度和透明度的支持,但这种支持取决于具体设备的能力。 #### 题目4:虚拟机的选择 - **题目**:J2ME使用的虚拟机是? - A. JVM - B. DVM - C. CVM - D. CardVM ...

    Dalvik opcodes

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

Global site tag (gtag.js) - Google Analytics