选择运行 Java 程序的方式

简介: 在运行 Java(TM) 程序时,您可以选择希望使用的方式。所有方式都验证代码并创建 Java 程序对象来存放预验证格式的程序。

在运行 Java(TM) 程序时,您可以选择希望使用的方式。所有方式都验证代码并创建 Java 程序对象来存放预验证格式的程序。可使用下列任何一种方式:

  • 解释方式
  • 直接处理
  • “及时”(JIT)编译
  • “及时”(JIT)编译并直接处理
选择方式 详细信息
解释方式

在运行时对每个字节码进行解释。

有关以解释方式运行 Java 程序的信息,参见运行 Java(RUNJVA)命令

直接处理

方法的机器指令在首次调用该方法期间生成并保存下来,以供程序下次运行时使用。并且,整个系统还共享一个副本。

有关使用直接处理方式来运行 Java 程序的信息,参见运行 Java(RUNJVA)命令

“及时”(JIT)编译

方法的机器指令在首次调用该方法期间生成,并在 Java 虚拟机的运行期间得到保存。

要使用“及时”编译器,需要将编译器值设置为 jitc。可以通过添加环境变量或设置 java.compiler 系统属性来设置该值。请从以下列表中选择一种方法来设置编译器值:

  • 从 iSeries 服务器的命令行提示符下,通过使用“添加环境变量”(ADDENVVAR)命令来添加环境变量。然后,使用“运行 Java”(RUNJVA)命令或 JAVA 命令来运行 Java 程序。例如,使用:
    ADDENVVAR ENVVAR (JAVA_COMPILER) VALUE(jitc)
    JAVA CLASS(Test)
    
  • 在 iSeries 命令行上设置 java.compiler 系统属性。例如,输入 JAVA CLASS(Test) PROP((java.compiler jitc))
  • 在 Qshell Interpreter 命令行上设置 java.compiler 系统属性。例如,输入 java -Djava.compiler=jitc Test
在设置此值之后,JIT 编译器便在运行 Java 代码之前对所有 Java 代码执行优化。
“及时”(JIT)编译并直接处理

最常见的使用“及时”(JIT)编译器的方法是使用 jit_de 选项。当使用此选项运行时,已对直接处理进行了优化的程序会以直接处理方式运行。未对直接优化进行优化的程序以 JIT 方式运行。

要将 JIT 方式与直接处理方式配合使用,您需要将编译器值设置为 jitc_de。可以通过添加环境变量或设置 java.compiler 系统属性来设置该值。请从以下列表中选择一种方法来设置编译器值:

  • 通过在 iSeries 命令行上输入“添加环境变量”(ADDENVVAR)命令来添加环境变量。然后,使用“运行 Java”(RUNJVA)命令或 JAVA 命令来运行 Java 程序。例如,输入
    ADDENVVAR ENVVAR (JAVA_COMPILER) VALUE(jitc_de)
    JAVA CLASS(Test)
    
  • 在 iSeries 命令行上设置 java.compiler 系统属性。例如,输入 JAVA CLASS(Test) PROP((java.compiler jitc_de))
  • 在 Qshell Interpreter 命令行上设置 java.compiler 系统属性。例如,输入 java -Djava.compiler=jitc_de Test
在设置此值之后,将使用为直接处理而创建的类文件的 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
  • os400.run.mode=
    "program_created=pc"
  • os400.create.type=
    "direct"
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"
 
目录
打赏
0
0
0
0
12
分享
相关文章
JVM实战—1.Java代码的运行原理
本文介绍了Java代码的运行机制、JVM类加载机制、JVM内存区域及其作用、垃圾回收机制,并汇总了一些常见问题。
JVM实战—1.Java代码的运行原理
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
课时7:Java程序基本概念(注释)
课时7介绍了Java程序中的注释。编程语言有其语法和语义,注释有助于理解代码需求,防止断档。Java支持三类注释:单行(//)、多行(/* */)和文档注释(/** */)。注释不会被编译器编译。范例中展示了如何在代码中使用注释,并强调了注释对项目文档管理的重要性。
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
课时146:使用JDT开发Java程序
在 Eclipse 之中提供有 JDT环境可以实现java 程序的开发,下面就通过一些功能进行演示。 项目开发流程
课时5:第一个Java程序
课时5介绍了编写第一个Java程序的步骤,包括创建Hello.java文件、编写“Hello World”代码、编译和运行程序。主要内容有:1) 新建并编辑Hello.java;2) 编译Java源文件生成.class文件;3) 通过命令行解释执行Java程序;4) 解释主方法的作用及信息输出操作。本课强调了类定义、文件命名规则和基本程序结构的重要性,并建议初学者使用记事本编写代码以熟悉基础语法。
消防救援支队消防员单兵装备智能养护舱电机驱动java版程序(二)
本文探讨消防救援中智能养护舱电机驱动的Java程序设计,作为系列文章第二部分。通过自动化和智能化手段,智能养护舱提升了装备维护效率与准确性。文章详细介绍了电机驱动模块的设计与实现,包括硬件选型、PID控制策略、安全保护机制及Java程序架构,确保电机精确控制、稳定性和安全性。未来将优化功能并引入智能算法和物联网技术,进一步提升装备维护智能化水平。
消防救援支队消防员单兵装备智能养护舱点击驱动java版程序(一)
智能消防作战服架通过电机驱动系统提升消防员作业效率和安全性。本文介绍基于Java的电机驱动程序开发,涵盖硬件准备、软件环境搭建及驱动程序实现。重点包括串口通信配置、电机控制类设计与控制逻辑实现,确保电机高效稳定运行。通过正确配置通信协议和串口参数,并添加异常处理机制,保障系统的安全性和可靠性。
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
94 2
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
217 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等