ThreeTen-Backport 实现与 JSR-310 的 backport 实现?

ThreeTen-Backport implementation vs. backport of JSR-310?

提问人:James Dunn 提问时间:6/30/2015 最后编辑:CommunityJames Dunn 更新时间:10/1/2018 访问量:163

问:

注意:这不是将 ThreeTen 向后移植与 JSR-310 进行比较的重复。我的问题更具体。

在我的公司,我试图让DevOps同意使用ThreeTen-Backport来重构遗留代码(由于WebLogic 10.3.6.0的部署限制,我们无法从Java 6升级,也不能使用1.2.1版本之后的任何JodaTime版本)。

我可以看到DevOps在ThreeTen-Backport的Github页面上对这个声明有问题:

向后移植不是 JSR-310 的实现,因为那样会 需要跳过许多不必要的箍。相反,这是一个 简单的向后移植,旨在允许用户快速使用 JSR-310 API 在 Java SE 6 和 7 上。

当他们问我“不是实现”是什么意思时,我需要能够向他们解释。但是,“实现”一词的语义范围很广,我自己也不确定这到底是什么意思。

所以我的问题是,在这样的上下文中,实现向后移植是什么意思?由于 JSR-310 是一个向后移植而不是一个实现,那么我是否可以使用一个反例,其他东西的实现,就像 ThreeTen-Backport 不是 JSR-310 的实现一样?如果存在这样的东西,那么 JSR-310 for Java 6 的实际实现会是什么样子,它与 ThreeTen-Backport 有什么不同?

Java JSR310 三腾BP

评论


答:

4赞 JodaStephen 6/30/2015 #1

JSR 310:日期和时间 API 是一个由 Java 社区进程 (JCP) 控制的正式规范,具有一大堆合法控制。任何 JSR(包括 JSR-310)的实现都需要通过测试工具包和其他障碍。

在 JSR-310 中,JSR 被集成到 Java 8 本身中,这意味着根本不可能独立实现 JSR。JDK 之外没有 JSR-310 的测试套件。因此,任何一段代码都不能在 JDK 本身之外实现 JSR-310。

因此,ThreeTen-Backport 接近于 JSR-310 规范的实现,但实际上并不是一个实现,其中“实现”是指 JSR-310 规范