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
评论