Excelsior JET 6.4: 更小、更快、更安全的 Java

  • Craig Wickesser
  • 张龙

2008 年 7 月 4 日

话题:Java安全JVM语言 & 开发架构

Excelsior于 1999 年创建,最近它发布了Excelsior JET 6.4 版。该最新版本包含了几个值得期待的特性,如数据和资源加密、启动优化和智能编译。

数据和资源加密

在以前的版本中,代码之所以能“安全”是因为对编译 Java 类的方式的副作用进行了优化,但是这不会保护字符串常量值、反射信息、媒体文件及属性文件。在最新的版本中,所有的一切都可以简单的通过在“JET 控制面板”中选择一个选项来加密。和命名混淆(有时会导致代码错误)不同,Excelsior 的市场主管 Dmitry Leskov 提到:
即需解密确保了反射和 JNI 相对于命名混淆(现在常用来保护 Java 应用的方法)来说保留了完全的功能。

关于即需解密而导致的性能损失,Dmitry 说到:

我们曾度量过,该损失可以忽略不计。但是如果客户需要更加复杂的加密方式的话,我们也许会在未来版本中将其加入,这样的话损失可能就会增加了。
启动优化

标准的 Sun JVM 在运行时对 Java 代码进行优化可以轻微地提高性能,然而 Excelsior JET 6.4 所带的是全新的启动优化器,它可以将应用的启动时间减少 2 倍。可以从Excelsior JET 用户指南的“启动优化”章节找到关于该功能更多的信息。

智能编译其他值得注意的变化之一就是高水平的“智能”编译。援引 Excelsior站点上的说明:

现在 JET 优化器跟踪项目的变化以避免当个别文件 / 项目设置被修改后导致的整个应用重新编译。例如,当你修改版本信息、运行时设置、资源文件、图标 / 启动画面等时,它会极大地降低编译时间。

InfoQ 还向 Dmitry 问到了支撑其声明的基准结果,同时谈到了 Excelsior JET 与其他 VM 的比较,如 GCJ 和 Apache Harmony 等。

在内部我们运行了大量的基准,当然,有一些结果是针对 6.4 的,但是我们没时间发布他们。不久我们将发布 SPECjvm2008 的结果。我所知道的最近的第三方评测结果在http://www.stefankrause.net/wp/?p=6上,涵盖了 Sun JDK、IBM JDK、BEA JRockit、GCJ、Apache Harmony 及 Excelsior JET,并与 GCC 和 Intel C++ 进行了对比。

Excelsior JET 6.4 支持 Java 5 和 6 编写的应用,而 Java 1.4.2 的应用仍旧可以使用 Excelsior JET 4.8。关于 Excelsior JET 的未来,Dmitry 说到:

我们正在研发一个重要特性,我们希望可以借助它将我们的产品打进新的市场。在发布这个版本前,我们没有足够的时间完成该特性,所以将版本号定为 6.4 而不是 6.5。我们打算在七月中下旬宣布该特性并放出 beta 版,所以请稍安毋躁。:-)

值得一提的是,Excelsior 还为嵌入式应用提供了其 JET 产品。

查看英文原文:Excelsior JET 6.4: Smaller, Faster, More Secure Java

Java安全JVM语言 & 开发架构