在运行 Java(TM) 程序时,您可以选择希望使用的方式。所有方式都验证代码并创建 Java 程序对象来存放预验证格式的程序。可使用下列任何一种方式:
- 解释方式
- 直接处理
- “及时”(JIT)编译
- “及时”(JIT)编译并直接处理
选择方式 | 详细信息 |
---|---|
解释方式 |
在运行时对每个字节码进行解释。 有关以解释方式运行 Java 程序的信息,参见运行 Java(RUNJVA)命令。 |
直接处理 |
方法的机器指令在首次调用该方法期间生成并保存下来,以供程序下次运行时使用。并且,整个系统还共享一个副本。 有关使用直接处理方式来运行 Java 程序的信息,参见运行 Java(RUNJVA)命令。 |
“及时”(JIT)编译 |
方法的机器指令在首次调用该方法期间生成,并在 Java 虚拟机的运行期间得到保存。 要使用“及时”编译器,需要将编译器值设置为 jitc。可以通过添加环境变量或设置 java.compiler 系统属性来设置该值。请从以下列表中选择一种方法来设置编译器值:
在设置此值之后,JIT 编译器便在运行 Java 代码之前对所有 Java 代码执行优化。 |
“及时”(JIT)编译并直接处理 |
最常见的使用“及时”(JIT)编译器的方法是使用 jit_de 选项。当使用此选项运行时,已对直接处理进行了优化的程序会以直接处理方式运行。未对直接优化进行优化的程序以 JIT 方式运行。 要将 JIT 方式与直接处理方式配合使用,您需要将编译器值设置为 jitc_de。可以通过添加环境变量或设置 java.compiler 系统属性来设置该值。请从以下列表中选择一种方法来设置编译器值:
在设置此值之后,将使用为直接处理而创建的类文件的 Java 程序。如果该 Java 程序不是为直接处理创建的,则 JIT 在运行之前优化类文件。有关更多信息,参见“及时”编译器与直接处理的比较。 |
运行 Java 程序的方法有三种(CL、QSH 和 JNI)。每一种方法都有唯一的方法来指定方式。下表显示了如何完成此操作。
方式 | CL 命令 | QShell 命令 | JNI 调用 API |
---|---|---|---|
解释 | INTERPRET(*YES) | -Djava.compiler=NONE -interpret | os400.run.mode="interpret" |
DE | INTERPRET(*NO) | -Djava.compiler=NONE |
|
JIT | INTERPRET(*JIT) | -Djava.compiler="jitc" | os400.run.mode="jitc" |
JIT_DE(缺省) | INTERPRET(*OPTIMIZE) OPTIMIZE(*JIT) | -Djava.compiler="jitc_de" | os400.run.mode="jitc_de" |
时间: 2024-10-26 05:55:10