java - ThreeTen-Backport 实现与 JSR-310 的向后移植?

标签 java jsr310 threetenbp

注意:这不是 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/

相关文章:

java - Java 中字符串表示的不同大小

java - QR 扫描仪如何从远程数据库检索数据?

android - 使用 LocalDate 而不是日月年的 DatepickerDialog

java - 当我们的 jar 附带的类被添加到 Java 标准库时会发生什么?

android - 如何在单元测试中初始化 ThreeTen Android backport

java - 需要帮助在 java 中按下多个键

java - 我应该始终使用最新的 javac 编译器来编译 Java 代码吗?

java - java.time 的 Spring DateTimeFormat 配置

android - 无法编译 ThreeTenABP

java - org.triten.bp.format.DateTimeParseException : Text '2018-07-22T14:00:00-03:00' could not be parsed at index 19