为什么Java提供规范而不是实现

时间:2017-02-13 10:03:40

标签: java specifications

为什么Java不提供"标准"所有API的实现?例如,JPA,XML,变形金刚等等!

如果有一个实现,如果人们不喜欢它,那么他们可以依赖其他实现接口的库,这样会不会更方便

4 个答案:

答案 0 :(得分:3)

Sun确实提供了许多规范的参考实现(例如Glassfish)。但不是全部。

Sun首先是一家硬件公司 - 他们销售服务器。

Java旨在推动服务器销售,而不是垄断软件市场。他们认为,通过编写任何人都可以实施和竞争的规范,他们的利益会更好。

JPA很有意思,因为像TOPLink这样的对象关系映射实现在规范之前已经很多年了。在编写JMS之前存在消息队列。

答案 1 :(得分:0)

我不确定你在这里问的是什么 - 但是例如JPA的参考实现是EclipseLink,而GlassFish为JAX-WS和JAXB提供了参考实现。

答案 2 :(得分:0)

取决于你如何看待它。 例如,Jersey是JAX-RS的一个实现,但它也是由Oracle Corporation发起/开发的。 https://en.wikipedia.org/wiki/Project_Jersey。 因此,从技术上讲,他们开发了规范,接口集等,以及它的一个实现。

答案 3 :(得分:0)

他们这样做。拥有参考实现是JSR最终版本的一部分。 请参阅JCP概述https://jcp.org/en/procedures/overview 常见问题https://jcp.org/en/introduction/faq#ri 有关这方面的更多信息。