代码之家  ›  专栏  ›  技术社区  ›  hvgotcodes

JLS、Java和相关技术之间的关系是什么?

  •  3
  • hvgotcodes  · 技术社区  · 14 年前

    Java是语言,JRE是运行时环境,JDK是开发工具吗?JLS是说明JRE必须做X、Y、Z的规范,因此Java是什么?这些观点正确吗?如果不正确,有人能启发我吗?

    有什么东西我们认为是爪哇,但不是吗?我想我听说了关于安卓的事——是真的吗?

    1 回复  |  直到 14 年前
        1
  •  4
  •   Community Johannes Schaub - litb    7 年前

    在某种程度上,这是一个自然语言模糊性的问题;其中一些事物在不同的时间意味着不同的事物。

    “Java”可以引用Java语言,如“我在Java中编写了这个惊人的FooIdGET”。它也可以是Java平台的速写,包括语言、运行时、工具等,如“您需要Java使用这个Web应用程序”。

    JRE代表Java运行时环境,是包含在 Java Virtual Machine. JDK,或 Java Development Kit 是一组开发工具,包括Java编译器、调试器、JavaDoc编译器等。令人困惑的是,它还包括一个JRE(如Eclipse中所见,JDK可以指定为项目的运行时)。

    Java语言规范(JLS)是,Java语言的规范。换句话说,它描述了如何实现语言的技术细节。

    Android是一个平台,其中代码是用Java编写的,但编译成在Dalvik虚拟机上运行,而不是JVM。在这个意义上,它实际上不是Java,但是从开发者的角度来看,差异主要是库的使用;语法是相同的。

    类似问题: