2017-08-08 66 views
-3

根据JAVA,java是一个开放源代码,这就是为什么它提供API的原因,供应商可以为该API编写自己的实现/具体类。 所以它遵守开放源代码的Java,所以我只是想为什么他们不提供API的JDK为什么他们提供具体的类作为JDK的一部分?JDK的概念,为什么它是这样的设计

回答

0

按在了JAVA,JAVA是一个开放源码这就是为什么它提供了 的API,使供应商可以编写自己的实现/混凝土 类该API。

Java本身不提供任何API,Java语言由“Java语言规范”和“JVM规范”组成。供应商可以自由执行这些规范。
与openjdk一样,Java语言规范和Oracle热点虚拟机是“JVM规范”的实现

1

当谈论Java作为开发平台时,术语Java大量超载。

核心Java平台是通过Java Community Process(JCP)定义的,它创建了许多Java规范请求(JSR),涵盖了Java功能的不同方面(包括Java ME,Java SE和Java EE以及其他一些,辅助的东西)。每个Java版本都有自己的JSR;在JDK 9的情况下,这是JSR 379.

每个JSR提供三两件事:

  1. 的规范,在此情况下具有精确定义的Java平台三个部分:Java语言规范( JLS),Java虚拟机规范(JVMS)和标准类库定义(API文档)。
  2. 参考实现(RI)。这是一个证明,如果你喜欢,可以实现规范。就Java SE而言,这是OpenJDK项目(这是Sun Microsystems于2007年开源的项目)。然而,这只是源代码,不同的人使用它来构建二进制分发版(Oracle,Azul,Red Hat等)。
  3. 技术兼容性套件(TCK)。这是由谁想要开发一个独立的规范实现来验证他们写的是否符合规范的人使用。 IBM和Azul等人使用J9和Zing JVM。

要回答你的问题,Java SE JSR提供了API的定义,OpenJDK提供了这些API的开源实现,然后几个公司创建了这些API的二进制分发版。