Google 发布支持 Java 7 的 App Engine 预览版

  • Charles Humble
  • 臧秀涛

2012 年 11 月 13 日

话题:Java语言 & 开发

Google 的平台即服务(Platform-as-a-Service)产品App Engine在其10 月份的更新中包含了对即将到来的 Java 7 支持的预览。该更新仅限于开发机使用,Google 尚未给出官方支持的时间表,简单说明如下:

在即将发布的版本中,我们将包含一些新的 Java 7 功能,而且 App Engine 的 Java 运行时会正式支持 Java 7。在新版本到来之前,我们强烈建议开发者开始使用 Java 7 来测试其应用程序,同时测试最新的 App Engine Java SDK。

Google 支持的是 Java 7 的一个除方法句柄(即 InvokeDynamic 字节码指令)外的子集,至少目前已经支持 Java 7 中的所有新增类。不过它的确支持来自 Coin 项目的新语言特性:

  • switch 语句支持字符串变量
  • 支持二进制整型字面量,数字字面量支持以下划线分隔
  • 一个 catch 可以处理多个指定类型的异常,重新抛出异常会进行更精确的检查
  • 改进了针对泛型实例创建(<> 或菱形)的类型推断
  • try-with-resources 语句
  • 简化了可变参数方法的调用

为了解决类名之间的冲突问题,Google 也添加了一种实验性支持,即允许 Java 开发者针对具体的 JAR 文件设定类加载优先级。这可以通过 XML 文档中的 <class-loader-config> 元素来配置:

<class-loader-config>
        <priority-specifier filename="mailapi.jar"/>
</class-loader-config>

这里并没有使用 元素本身的顺序,因此如果有多个 JAR 文件都指定了优先级,则会使用原来的加载顺序。

其他面向 Java 的平台即服务提供商也已经支持 Java 7,其中包括CloudBeesJelastic和 Vmware 的Cloud Foundry

查看英文原文Google Previews Java 7 Support for App Engine


感谢侯伯薇对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

Java语言 & 开发