性能改进

有了 IBM i 提供的附加类,在 IBM i Java 虚拟机上运行的 Java™ 程序将体验到更高的性能。 在某些情况下会提高性能,因为使用的通信功能较少,而在其他情况下,会使用 API 来代替调用服务器程序。

更快的通信

对于所有 IBM® Toolbox for Java 功能( JDBC 和集成文件系统访问除外),在Java虚拟机上运行的Java程序将 IBM i 将运行得更快。 由于在 Java 程序与执行请求的服务器上的服务器程序之间进行通信时使用的通信代码较少,因此程序运行速度更快。

未优化 JDBC 和集成文件系统访问,因为已存在使这些功能运行速度更快的设施。 在 IBM i 服务器上运行时,可以将 JDBC 驱动程序用于 IBM i ,而不使用 IBM Toolbox for Java随附的 JDBC 驱动程序。 要访问服务器上的文件,可以使用 java.io ,而不是 IBM Toolbox for Java随附的集成文件系统访问类。

直接调用 IBM i API

提高了 IBM Toolbox for Java 的以下类的性能,因为这些类直接调用 IBM i API ,而不是调用服务器程序来执行请求:

  • AS400Certificate 类
  • CommandCall
  • DataQueue
  • ProgramCall
  • 记录级数据库访问类
  • ServiceProgramCall
  • UserSpace

仅当用户标识和密码与运行 Java 程序的作业的用户标识和密码匹配时,才会直接调用 API。 要提高性能,用户标识和密码必须与启动 Java 程序的作业的用户标识和密码匹配。 为了获得最佳结果,请使用 "localhost" 作为系统名称,使用 "* current" 作为用户标识,使用 "* current" 作为密码。

端口映射更改

端口映射系统已更改,这使访问端口的速度更快。 在此更改之前,将向端口映射器发送端口请求。 从那里,服务器将确定哪个端口可用,并将该端口返回给要接受的用户。 现在,您可以告诉服务器要使用的端口,或者指定要使用的缺省端口。 此选项可消除服务器为您确定端口所浪费的时间。 使用 WRKSRVTBLE 命令来查看或更改服务器的端口列表。

为了改进端口映射, AS400 类中添加了几种方法:

  • getServicePort
  • setServicePort
  • setServicePortsToDefault

特定于语言的字符串更改

现在,特定于语言的字符串文件在 IBM Toolbox for Java 程序中作为类文件而不是属性文件提供。 服务器在类文件中查找消息的速度比在属性文件中查找消息的速度快。 ResourceBundle.getString()现在运行得更快了,因为文件存储在计算机搜索的第一个位置。 更改为类文件的另一个优点是服务器可以更快地找到字符串的翻译版本。

转换器

两个类允许在 Java 和系统之间进行更快,更高效的转换:

  • 二进制转换器: 在 Java 字节数组和 Java 简单类型之间进行转换。
  • 字符转换器: 在 Java 字符串对象与 IBM i 代码页之间进行转换。

此外, IBM Toolbox for Java 现在为超过 100 个常用 CCSID 合并了自己的转换表。 先前, IBM Toolbox for Java 会延迟到 Java 进行几乎所有文本转换。 如果 Java 没有正确的转换表,那么 IBM Toolbox for Java 从服务器下载了转换表。

IBM Toolbox for Java 对它知道的任何 CCSID 执行所有文本转换。 当它迂到未知 CCSID 时,它尝试让 Java 处理转换。 IBM Toolbox for Java 从未尝试从服务器下载转换表。 此技术可大大缩短 IBM Toolbox for Java 应用程序执行文本转换所需的时间。 用户无需执行任何操作即可利用此新文本转换; 性能提高全部发生在底层转换器表中。