本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2014/02/oracle-ship-java-8-in-march
Oracle计划于3月18日正式发布JDK 8,即便存在一些小Bug也会如期发布。在发送给Java邮件列表的一封邮件中,Oracle JDK 8发布经理Mathias Axelsson重点强调了此次升级的意图,即在3月份将会正式发布JDK 8。在此次发布中,只有一些严重的Bug才会考虑在最初的JDK 8发布中得到修复;其他一些小Bug将会推迟到后续发布中解决,这样做的目的是为了确保能在3月18日如期发布JDK 8。
Axelsson说JDK 8的开发者们最近一直在努力修复Bug,“目前只有为数不多的问题需要解决并集成,总的来看,项目进展还是非常不错的”。
此前Java就有发布时存在Bug的经历。2011年发布的Java SE 7存在着编译器问题,Java客户端的安全也接二连三地出现问题,不过Oracle承认了这些问题并加以解决,之后发布了Java SE的36个修复。
Java 7发布时所引入的hotspot-compiler优化会错误地编译某些循环,这个Bug已经影响到了很多项目,包括Apache Lucene Core、Apache Solr等。最坏的情况下,这个Bug会导致JVM崩溃;在其他一些情况下,Bug会导致一些计算出现错误,这又会造成应用出现难以察觉的各种问题。
Oracle也发现了这个Bug,发现的时间是在Java 7发布的前5天;当时Oracle在Sun Developer Network上发布了警告。公司也承诺会在接下来的服务发布中修复这些问题。
Apache简要说明了运行Java 7的用户可能会遇到的问题细节信息。使用默认配置的Solr用户“在开始索引文档时会遇到Java崩溃的问题”,Lucene中的其他循环也可能会出现编译错误的问题。
值得注意的是,Java 6用户如果使用了默认情况下没有开启的选项也会遇到相应的问题,包括-XX:+OptimizeStringConcat和-XX:+AggressiveOpts。
此前Java还出现过客户端安全问题。Oracle官方也曾说过Java的安全问题长久以来都被忽视了,这导致软件很容易遇到各种安全攻击。不过Oracle现在非常重视这个问题,并且及时发布了新的版本,更加安全的Java版本,修复了安全问题。Oracle云应用与Java EE副总裁Cameron Purdy说大多数安全问题都可以追溯到10年前,只不过Java被纳入Oracle麾下并没有多长时间,不过未来Oracle将会非常重视Java的安全问题。
Forrester Research的分析师John Rymer说“Oracle能够及时沟通JDK 8的状态是一件非常好的事情,毕竟谁都不希望延期再延期了”。
根据之前的规划,JDK 8将会包含Project Lambda、提升多核编程能力等特性,不过Project Jigsaw(模块化Java)等特性将会继续推迟到后续的Java SE 9中再发布。