深入探索 Jython 编译工具 jythonc
1. 引言
Jython 凭借其对 Python 和 Java 的全面集成而表现出色。与大多数多级语言组合不同,Jython 能让 Python 环境无缝使用任意 Java 类,无需额外步骤或特殊处理。而 jythonc 工具则进一步增强了这种集成性,它允许将 Jython 模块编译成 Java *.class 文件,实现 Java 对 Python 的无缝使用。
2. 什么是 jythonc
jythonc 是一个从 Jython 模块生成 Java 代码的工具。它可以创建 jar 文件、跟踪依赖项、冻结关联模块等,具体功能取决于所提供的选项。在 Jython 脚本所在目录通常会有一个名为 jythonc(或 jythonc.bat)的脚本,它实际上是对 sys.prefix/Tools/jythonc/jythonc.py 文件的封装,该文件负责创建 Java 文件并调用 Java 编译器生成 *.class 文件。
使用 jythonc 需要合适的 Java 编译器,如 Sun 的 javac 或 IBM 的 jikes,Java 运行时环境(JRE)本身不足以使用 jythonc,因为它不包含编译器,需要 Java 开发工具包(JDK)或 Jikes 编译器。需要注意的是,Microsoft 的 jvc 编译器目前不是编译 Jython 代码的理想选择。
此外,编译后的 Jython 与解释型 Python 在性能上并无优势,当前实现的编译后的 Jython 代码性能与使用 Jython 本身执行模块相似。