实时Java,第5部分 - 编写和部署实时Java应用程序 - 编程入门网
析来维护 Java 兼容性。
请阅读 “实时 Java,第 2 部分: 比较编译技术”,进一步了解 JIT 编译器用于执行优化的技术、JIT 和 AOT 各自的优缺点,以及两者的对比。 生成预先编译的代码 AOT 编译工具 jxeinajar 会从以 JAR 或 ZIP 文件格式存储的类生成本地代码。该工具可以创建 AOT 编译的代码,可以是为各 JAR 文件的类中的所有方法,也可以是为一个固定的方法集合。如果 JIT 使用了一种固定的优化级别,那么 AOT 编译的代码就等同于 JIT 编译器生成的本地代码。代码以称为 Java eXEcutable(JXE)的内部格式存储。jxeinajar 工具将 JXE 文件包装在一个 JAR 文件中,WebSphere Real Time 随后即可执行此文件。 AOT 编译是一个分两阶段的过程。第一步,AOT 代码生成(使用 jxeinajar 工具),使用 AOT 编译器生成本地代码。第二步,在 Java Runtime Environment(JRE)内执行这些代码。 以下命令(其中的 aotJarPath 是希望将预先编译的文件写入其中的目录)为当前目录中的所有 JAR 或 ZIP 文件创建 AOP 编译的代码,假定 $JAVA_HOME/bin 位于 $PATH上:
执行此命令后,您将看到如下输出:
所创建的 JAR 文件并非真正的 JAR。它也不 包含类文件。与此不同,它包含用于所有类和占位符类文件的 JXE 文件,用于访问本地代码。这些文件无法为其他 Java 运行时所用,是 WebSphere Real Time 的这个版本专用的。 可在命令行中指定单个的 JAR 或 ZIP 文件,来重写默认行为。如果要将输入文件的搜索扩展为包含子目录,可向命令中添加 -recurse 选项。 实时Java,第5部分 - 编写和部署实时Java应用程序(5)时间:2011-06-22 Caroline Gough识别预先编译的文件 jxeinajar 工具提供的文件格式包含一个 JXE 文件,还有对该 JXE 文件内各类文件的指针。通过列举 JAR 或 ZIP 文件的内容,您就可以迅速识别出,该文件是否由 jxeinajar 工具生成。如果希望查看 demo.jar,那么列出其内容的命令是:
jxeinajar 生成的 JAR 文件提供如下输出:
JAR 文件内的另一个 JXE 文件将其标识为 jxeinajar 工具生成的 JAR 文件。否则,输出应如下所示:
执行预先编译的代码 对您的应用程序进行了 AOT 编译之后,就可以使用此命令来运行它了:
切记,在 WebSphere Real Time 中,动态 JIT 编译和 AOT 编译无法混合使用。如果您忽略了 -Xnojit 选项,那么 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |