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 )关注我们,并与我们的编辑和其他读者朋友交流。
评论