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

  • 2012-11-12
  • 本文字数:742 字

    阅读完需:约 2 分钟

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>
       <priority-specifier filename="mailapi.jar"/>
</class-loader-config>

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

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

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


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

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