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

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

添加新评论