【问题标题】:Which edition of Java is being used in Android J2ME or Java SE?Android J2ME 或 Java SE 中使用的是哪个版本的 Java?
【发布时间】:2011-02-01 19:56:44
【问题描述】:

Android J2ME 或 Java SE 中使用的是哪个版本的 Java?

【问题讨论】:

    标签: android


    【解决方案1】:

    每个人都在这里,但让我稍微澄清一下整个过程 - 它是如何工作的:

    1. 我们使用标准 J2SE 发行版中的普通 Java 编译器并生成 .class 文件 - 也称为 Java VM 的字节码
    2. 然后使用 Android SDK (aapt) 中包含的工具 - 我们从 .class 文件生成 .dex 文件 - 换句话说,Dalvik VM 字节码
    3. 最后,我们将所有这些文件(.dex + 资源)压缩到我们以前命名为 .APK 文件的 zip 存档 - 有点像 Android 可执行文件

    所以从这个角度来看 - 很明显,Android 既不是 J2ME(运行所谓的 Kylobyte VM 字节码)也不是 J2SE(运行 Java VM 字节码)...

    但从其他角度来看,Android 显然更接近 J2SE——因为它基于 JVM 字节码。

    【讨论】:

      【解决方案2】:

      Android 不是 Java ME 或 Java SE。 Android 是一个不同的平台和框架,但 Java 是 Android SDK 的编程语言。 Android 没有使用 Java 虚拟机,而是 Dalvik。还有一个用于 C/C++ 的 Android NDK

      【讨论】:

      • thnx jonas 你说 java 是 Android SDK 的编程语言。我的问题是在 android J2ME 或 java SE 中使用了哪个版本的 java。
      • @Adil:使用的不是 Java ME 或 Java SE,而是 Android。它是不同的编译器和不同的虚拟机。因此,您可以将 Android 视为不同的 Java 版本。 Android 仅使用 Java SE 库的子集,但也使用其他自定义库。
      • thnx jonas 现在我明白了
      【解决方案3】:

      Android 使用 Dalvik

      Dalvik 是虚拟机 (VM) 谷歌的安卓操作系统。 因此,Dalvik 是 Android,通常用于 移动设备,例如手机, 平板电脑和上网本。前 执行,Android 应用程序是 转换成紧凑型 Dalvik 可执行文件 (.dex) 格式,即 设计为适用于系统 在以下方面受到限制 内存和处理器速度。

      http://en.wikipedia.org/wiki/Dalvik_virtual_machine

      【讨论】:

      • “Android Runtime (ART) 作为技术预览包含在 Android 4.4“KitKat”中。ART 在 Android 5.0“Lollipop”中完全取代了 Dalvik
      【解决方案4】:

      GNU 项目“J2SE for Android”。

      1. 它提供 Swing 和 AWT 类,因此您可以使用此库在 Android 上运行 J2SE 应用程序。
      2. 它实现了大多数功能,而不是全部。

      【讨论】:

        猜你喜欢
        • 2018-09-22
        • 2011-11-24
        • 2020-03-26
        • 1970-01-01
        • 1970-01-01
        • 2012-11-30
        • 1970-01-01
        • 2018-05-09
        • 1970-01-01
        相关资源
        最近更新 更多