我目前正在调查是否有必要延迟一些次要的计划重构工作并将其与迁移到Java 7相结合,但我有点担心它可能会更难以追踪一些错误的原因如果代码和平台同时发生变化。
此举的好处是能够使用NIO.2清理和改进应用程序中许多与IO相关的事情。
我拥有应用程序和相关库的所有必要来源(如果需要更改)。考虑到Java 7只有一些小的改进 - 在大多数VM更新已经在Java 6中并且更大的更改如Closures或Chainsaw被取消 - 它应该足够稳定以便在几个月后使用它,对吗?
答案 0 :(得分:2)
我目前正在调查是否有必要推迟一些次要的计划重构工作并将其与迁移到Java 7相结合
嗯,Java 7时间表仍然存在很多不确定性,最近由Mark Reinhold(Oracle平台组的首席架构师)在his blog和OpenJDK mailing list上解释:
很明显,最近的JDK 7开发时间表显然是不切实际的。
(...)
我们目前的最佳估计是,我们可以及时完成,测试和稳定计划的工作,以便在2012年中期发布。
(...)
我们目前对此“B计划”的估计 是我们可以运送减少的JDK 7 在2011年中期和JDK 8在第二 2012年下半年。
总结:
Plan A: JDK 7 (as currently defined) Mid 2012 Plan B: JDK 7 (minus Lambda, Jigsaw, and part of Coin) Mid 2011 JDK 8 (Lambda, Jigsaw, the rest of Coin, ++) Late 2012
所以在最好的情况下,Java 7将在不到一年的时间内出现,而Java 8(有大的变化)将在两年多的时间里出现。在最糟糕的情况下,Java 7将在不到两年的时间内存在。
此举的好处是能够使用NIO.2清理和改进应用程序中许多与IO相关的事情。
对于后面的部分(NIO.2),你需要Java 7.但对于前一部分(清理),IMO没有充分的理由等待你立即受益,特别是考虑到不确定性Java 7时间表。
考虑到Java 7只有一些小的改进 - 在大多数VM更新已经在Java 6中并且更大的更改如Closures或Chainsaw被取消 - 它应该足够稳定以在几个月后使用它,对吧?
首先,即使社区似乎偏爱 Plan B ,也没有什么是一成不变的,所以我不会根据它做出决定。其次,即使Sun一直试图最大限度地提高Java版本之间的兼容性并提供稳定的平台,我无法预测未来:)尽管我非常有信心,但一些保守的公司可能会等待一段时间(无论是选择的场景)。