2017-02-13 79 views
0

爲什麼Java不爲所有API提供「標準」實現?例如,JPA,XML,變形金剛等等!爲什麼Java提供規範而不是實現

那豈不是更方便,如果有一個實現,並且如果人們不喜歡它,那麼他們可以依靠其實現的接口

+1

不確定公司策略是否真的是主題... – AxelH

+0

Java的重點是什麼?爲了跨平臺,最好的解決方案是什麼,讓每個平臺使用所提供的接口構建自己的API。想象一下帶有「標準」實現的JDBC,歡迎來到地獄;) – AxelH

+0

在很多情況下,它們提供了一個實現,但是沒有任何商業原因爲它們提供實現。 –

回答

3

Sun並提供了許多它們的規格的參考實現其他圖書館(如Glassfish)。但不是所有的。

太陽是一家硬件公司 - 他們賣服務器。

Java旨在推動服務器銷售,而不是角逐軟件市場。他們認爲通過編寫任何人都可以實施和競爭的規範可以更好地滿足他們的興趣。

JPA很有趣,因爲像TOPLink這樣的對象關係映射實現在規範之前已經有很多年了。在寫入JMS之前存在消息隊列。

+0

我喜歡這裏的「歷史部分」。我相信Oracle仍然主要是數據庫硬件/軟件提供商。 – AxelH

0

我不確定你在問什麼 - 但是例如JPA的參考實現是EclipseLink,而GlassFish提供了JAX-WS和JAXB的參考實現。

0

取決於你如何看待它。 例如Jersey是JAX-RS的實現,但它也是由Oracle公司發起/開發的。 https://en.wikipedia.org/wiki/Project_Jersey。 因此,從技術上講,他們開發了規範,接口等,以及它的一個實現。

相關問題