# Runtime Environment for OS/2 Warp Developer's Kit for Java 1.1.6

OS/2 Warp Developer's Kit for Java 1.1.6 is the ported version of the Sun Java Version 1.1.6 programming environment to the IBM OS/2 Warp operating system. This file describes the use of the Runtime component of OS/2 Warp Developer's Kit for Java 1.1.6.

- Installation
- Java Interpreter
- Applet Viewer
- Configuration
- Platform Specifics
- Disabling the JIT Compiler
- Information for DBCS environments
- Where to find more information
- Notices

  ## Installation

  See the README file in the \JAVA11 directory for the latest information regarding installation. This file is also in the directory where you unpacked the OS/2 Warp Developer's Kit for Java 1.1.6 files.

  The installation of the Runtime component makes the following changes to the PATH and LIBPATH statements in the CONFIG.SYS file:

        PATH        includes x:\java11\bin;
        LIBPATH     includes x:\java11\dll;

  where x is the drive where the Java Runtime component was installed.

  ## Java Interpreter

  The Java Interpreter, JAVA, executes Java byte codes. Java byte codes reside in a file with an extension of .class.

  To run the Java application hello.class, type at an OS/2 command prompt:

              java  hello

  Note that the extension for the file should not be specified (it must be .class) and that the name is case-sensitive.

  Java applications that use the Abstract Window Toolkit (AWT) can be started with the JAVA command. The JAVAPM command is provided for compatibility with prior versions of Java for OS/2 Warp but is no longer needed.

  The .class file is created by the Java Compiler, JAVAC. The Java Compiler is included as part of the Java Toolkit component and is necessary only if you will be writing Java programs yourself.

  If you type JAVA without any options at an OS/2 command prompt, a list of available options is displayed.

  ## Applet Viewer

  The Java Applet Viewer, APPLET, provides a quick way to run Java applets. If the HTML file specified does not contain a Java applet, no function is performed.

  To run the applet contained in the file tictactoe.html, type at an OS/2 command prompt:

             applet  tictactoe.html

  If you type APPLET without any options at an OS/2 command prompt, a list of available options is displayed in a popup window.

  ## Configuration

  A number of environment variables are available to modify the behavior of the Java Runtime component:

  SET JAVA_AUDIO_RATE=n
    Sets the preferred playback sample rate for audio. A value of 8 for n sets the playback rate to 8000 samples per second. Use a value of 11 for 11025 samples per second. The Java runtime normally tries a sample rate of 8000 first, which matches the incoming data stream rate, and then 11025.

    Some drivers, such as some ThinkPad 701C drivers dated prior to October 1995, appear to support a sample rate of 8000 but then fail; they can be made to work by setting a playback sample rate of 11025.

  SET JAVA_AUDIO_VOLUME=v
    Adjusts the volume level for the audio output. v is the percentage of the maximum volume, from 0 to 100. The default is 75.

  SET JAVA_COMPILER=<xyz>
    Specifies the name of the just-in-time (JIT) compiler to load. The default JIT is JAVAX.

    To disable the JIT, specify the name of a non-existent DLL.

  SET JAVA_CONSOLE=1
    Specifies that Java programs started by JAVA and APPLET are run with a Java console.

  SET JAVA_HOME=<dir>
    Specifies the path to the shared Java runtime directories.

  SET JAVA_NLS_SBCS=1
    Specifies that Java should run in single-byte character set (SBCS) mode even in double-byte character set (DBCS) environments.

  SET JAVA_NOPRINTDLG=1
    Specifies that Java should suppress display of the printer properties dialog box before printing. This allows jobs to print, without user intervention, using the default printer properties.

  SET JAVA_USER=<dir>
    Specifies the path to the directory for user-specific files such as the hotjava\property file.

  SET JAVA_WEBLOGS=<dir>
    Specifies the path to the directory where weblog files for each started Java process are written.

  ## Platform Specifics

  There are a number of platform-specific changes for OS/2:

  ### General

  - The HOME environment variable is called JAVA_USER.

  ### Applet Viewer

  - The Applet Viewer program is called APPLET.

  - stdin, stdout, and stderr are directed to the OS/2 window where the Applet Viewer was started.

  - When the Applet Viewer is started directly as a Presentation Manager program, as in the following command:

             start /PM applet.exe example1.html

    stdout and stderr output are redirected to the WEBLOGS directory. Specify the -nore option to stop this redirection.

  ### Java Applications

  - A Java application using the Abstract Window Toolkit (AWT) that is started by the JAVA command causes the application to restart as a Presentation Manager process. When this restart occurs, stdin, stdout, and stderr are redirected to the OS/2 window where the JAVA command was issued.

  - To prevent the JAVA command from restarting itself as a Presentation Manager process, specify the -norestart option. The JAVA_NORESTART environment variable can also be used to prevent this restart. If a Java program that uses AWT is started with java -norestart in a non-Presentation Manager session, it is unable to create any windows because of an OS/2 Presentation Manager (PM) restriction.

  - To view stdout and stderr output for Java programs executed as OS/2 PM processes, using either JAVA or APPLET, a Java console is provided. To execute under the Java console, either specify the -cons option or set the JAVA_CONSOLE environment variable.

  ## Disabling the JIT Compiler

  A just-in-time (JIT) compiler is provided with OS/2 Warp Developer's Kit for Java 1.1.6. The JIT compiler generates machine code for frequently used byte code sequences in a Java application or applet on-the-fly during execution. The JIT is enabled by default.

  You can disable the JIT to aid in the isolation of a problem with a Java application, an applet, or the compiler itself in a number of different ways. For example:

  - Set the JAVA_COMPILER environment variable to a non-existent DLL, such as:

                  SET JAVA_COMPILER=xyz

  - Specify a property on the invocation of the Java interpreter to point to a non-existent DLL:

                  java -Djava.compiler=xyz  hello

  ## Information for DBCS environments

  - Single-byte-width fonts in double-byte character set (DBCS) language font sets, such as half-width-Katakana fonts in Japanese font sets, cannot be drawn on AWT components.

    As per the JavaSoft specification, OS/2 Warp Developer's Kit for Java 1.1.6 supports only English font sets. To draw in a DBCS language on AWT components, OS/2 Warp Developer's Kit for Java 1.1.6 uses the DBCS font association function. Because of a restriction in the DBCS font association function, OS/2 Warp Developer's Kit for Java 1.1.6 cannot draw single-byte-width fonts in DBCS languages on AWT components.

  - Class names should not contain DBCS characters.

  - Applets cannot obtain (using the getParameter() method) DBCS string values set for param tags when running under the Applet Viewer, APPLET.

  ## Where to find more information

  For up-to-date information about Java and IBM, visit the IBM Java Home Page or Sun's Java Web site.

  ## Notices

  Trademarks

  The following are trademarks of International Business Machines Corporation in the United States, or other countries, or both:

  - IBM
  - OS/2

  Java is a trademark of Sun Microsystems, Inc.

  Copyrights

  - (c) Copyright Sun Microsystems, Inc. 1992-1998. All rights reserved.
  - (c) Copyright IBM Corporation, 1996-1998. All rights reserved.
  - This product is based in part on the work of the Independent JPEG Group.
  - The Java(tm) technology is owned and exclusively licensed by Sun Microsystems, Inc. Java is a trademark of Sun Microsystems, Inc. in the U.S. and other countries.
  - US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.