注意:这不是 Comparing ThreeTen backport to JSR-310 的重复项。我的问题更具体。
在我的公司,我正在努力让 DevOps 步入正轨。使用 ThreeTen-Backport 重构遗留代码(由于 WebLogic 10.3.6.0 的部署限制,我们无法从 Java 6 升级,也无法使用 1.2.1 版以外的任何版本的 JodaTime)。
我可以在 ThreeTen-Backport 的 Github 页面上看到 DevOps 对此声明存在问题:
The backport is NOT an implementation of JSR-310, as that would require jumping through lots of unnecessary hoops. Instead, this is a simple backport intended to allow users to quickly use the JSR-310 API on Java SE 6 and 7.
当他们问我“不是实现”是什么意思时,我需要能够向他们解释。然而,“实现”这个词可以有很广泛的语义范围,我自己也不确定它的确切含义。
所以我的问题是,在这样的上下文中,实现与向后移植意味着什么?由于 JSR-310 是向后移植而不是实现,因此是否有一个我可以使用的反例,即是其他东西的实现,就像 ThreeTen-Backport 是>不是 JSR-310 的实现?如果存在这样的东西,Java 6 的 JSR-310 的实际实现会是什么样子?它与 ThreeTen-Backport 有什么不同?
最佳答案
JSR 310: Date and Time API是由 Java Community Process 控制的正式规范(JCP)并有一大堆法律控制。任何 JSR(包括 JSR-310)的实现都需要传递 testing kit和其他障碍。
就 JSR-310 而言,JSR 集成到 Java 8 本身中,这意味着根本不可能独立实现 JSR。 JDK 之外没有 JSR-310 的测试工具包。因此,没有任何代码可以在 JDK 本身之外实现 JSR-310。
因此,ThreeTen-Backport与 JSR-310 规范的实现非常接近,但实际上并不是实现,其中“实现”是指 JSR-310 规范。
关于java - ThreeTen-Backport 实现与 JSR-310 的向后移植?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31120824/