#
IBM(R) zSeries Runtime Environment for Linux, Java(TM) 2 Technology Edition
- Readme-Datei -

Anmerkung: Bevor Sie diese Informationen verwenden und das unterstützte Produkt einsetzen, müssen Sie die Basisinformationen im Abschnitt Bemerkungen lesen.

Informationen, die nur für bestimmte Länder Gültigkeit haben und für Deutschland, Österreich und die Schweiz nicht zutreffen, wurden in dieser Veröffentlichung im englischen Originaltext übernommen.

Diese Ausgabe der Readme-Datei gilt für IBM zSeries Runtime Environment for Linux, Java 2 Technology Edition, und für alle nachfolgenden Releases und Änderungen bis zur Herausgabe neuer Dateiversionen.

(c) Copyright IBM Corporation 1999, 2002. All rights reserved
(c) Copyright IBM Deutschland GmbH 1999, 2002. Alle Rechte vorbehalten.

(c) Copyright Sun Microsystems, Inc. 1997, 2001. 901 San Antonio Rd., Palo Alto, CA 94303 USA. Alle Rechte vorbehalten.

Diese Readme-Datei enthält Informationen zu dem Runtime Environment for Linux-Paket, das mit IBM(R) zSeries Developer Kit for Linux, Java(TM) 2 Technology Edition (Developer Kit for Linux), Sun SDK Version 1.3.1 bereitgestellt wird.

Mit Runtime Environment können Sie Java-Anwendungen lediglich ausführen. Wenn Sie Java-Anwendungen schreiben und anschließend ausführen möchten, müssen Sie Developer Kit for Linux installieren. Wenn Sie Developer Kit for Linux installiert haben, benötigen Sie Runtime Environment nicht, da diese Komponente in Developer Kit enthalten ist.

Eine Liste der Distributionen, mit denen Developer Kit for Linux getestet wurde, finden Sie unter der folgenden Adresse:
http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html

## Inhalt

- Übersicht
- In Runtime Environment for Linux enthaltene Dateien
- Lizenzvereinbarung
- Der JIT-Compiler (Just-in-Time)
- Native Method Interface und Java Native Interface
- Konfigurieren von Runtime Environment for Linux
- Installieren zusätzlicher Schriftarten
- Installieren unter Red Hat Linux
- Installieren bei Verwendung von BEA Weblogic
- Deinstallieren von Runtime Environment for Linux
- Deinstallieren des RPM-Pakets
- Deinstallieren des komprimierten TAR-Pakets
- Aufrufen von Java Runtime Interpreter (JRI)
- Systemmerkmale
- Abrufen der IBM Build- und Versionsnummer
- Verwenden der Funktion `floating stacks`
- Switching the input method in DBCS languages
- Devanagari fonts
- Beispiel für Laufzeit-Software
- Installieren Ihrer Anwendung auf dem System eines Benutzers
- Angabe der Garbage Collection-Richtlinie
  - Pausenzeit
  - Verringerung der Pausezeit
  - Umgebungen mit sehr vollen Freispeichern
  - Weitere Informationen zu Garbage Collection
- Dokumentation zu Runtime Environment for Linux
- Bekannte Einschränkungen
- Basisinformationen
- Informationen zur Linux-Speicherzuordnung
- Information for Japanese users
- Bemerkungen
- Marken
- Änderungen in der IBM Terminologie

## Übersicht

Runtime Environment for Linux enthält die zur Erstellung einer Java-Laufzeitumgebung und zum Ausführen von Java-Programmen erforderlichen Klassen. Es umfasst außerdem die virtuelle Java-Maschine, Java-Klassen und Unterstützungsdateien. Runtime Environment for Linux enthält jedoch nicht alle Klassen aus Java Developer Kit.

### In Runtime Environment for Linux enthaltene Dateien

Runtime Environment for Linux enthält SO-Dateien, die nicht für die Verwendung eines Debuggers geeignet sind, sowie Klassendateien, die zur Unterstützung eines Programms zur Laufzeit benötigt werden. Runtime Environment for Linux umfasst keines der Entwicklungstools, wie 'appletviewer' oder 'javac', und auch keine Klassen, die nur zu einem Entwicklungssystem gehören.

Außerdem wird das Paket von Java Authentication and Authorization Service (JAAS) für die Verwendung mit Runtime Environment for Linux bereitgestellt.

### Lizenzvereinbarung

Die Datei LICENSE_xx.html enthält die Lizenzvereinbarung für die Software von Runtime Environment for Linux. (xx ist die Abkürzung für die Ländereinstellung.)

Zum Anzeigen oder Drucken der Lizenzvereinbarung können Sie die Datei in einem Web-Browser öffnen.

### Der JIT-Compiler (Just-in-Time)

Der JIT-Compiler (JIT - Just-in-Time) libjitc.so erstellt während der Ausführung dynamisch Maschinencode für häufig verwendete Bytecodesequenzen in einer Java-Anwendung oder in einem Java-Applet.

Runtime Environment for Linux verfügt über den JIT-Compiler libjitc.so, der standardmäßig aktiviert ist. Sie können den JIT-Compiler inaktivieren, um beispielsweise mögliche Probleme mit einer Java-Anwendung, einem Java-Applet oder dem Compiler selbst einzugrenzen. Geben Sie Folgendes an der Shell-Eingabeaufforderung ein, um den JIT-Compiler zu inaktivieren:

        export JAVA_COMPILER=NONE

Geben Sie Folgendes an der Shell-Eingabeaufforderung ein, um den JIT-Compiler zu aktivieren:

        unset JAVA_COMPILER

Wenn Sie prüfen wollen, ob der JIT-Compiler aktiviert ist, geben Sie folgenden Befehl an der Shell-Eingabeaufforderung ein:

      java -version

Wenn der JIT-Compiler aktiv ist, wird folgende Nachricht angezeigt:

        JIT enabled: jitc

Wenn der JIT-Compiler nicht aktiv ist, wird folgende Nachricht angezeigt:

        JIT disabled

### Native Method Interface und Java Native Interface

IBM unterstützt Native Method Interface in diesem Release nicht. Diese Schnittstelle dürfen Sie in Ihren Anwendungen nicht verwenden.

Java Native Interface (JNI) ist in Runtime Environment enthalten. Informationen zur Verwendung von JNI finden Sie auf der Sun-Website:

  http://java.sun.com

1. Wählen Sie Products & APIs aus.
2. Wählen Sie Java 2 Platform, Standard Edition (J2SE) unter Product Groups aus.
3. Wählen Sie Java 2 SDK, Standard Edition, v 1.3.1 unter Current Releases aus.
4. Wählen Sie browse documentation online unter J2SE 1.3.1 Documentation aus.
5. Wählen Sie Java Native Interface (JNI) unter Guide to Features - Java Platform aus.

## Konfigurieren von Runtime Environment for Linux

Nach der Installation von Runtime Environment for Linux müssen Sie Ihr Shell-Script editieren und der Anweisung PATH folgendes Verzeichnis hinzufügen:

  /opt/IBMJava2-ppc-131/jre/bin

Wenn Sie Runtime Environment for Linux nicht in dem Verzeichnis /opt/IBMJava2-ppc-131 installiert haben, müssen Sie /opt/IBMJava2-ppc-131 durch das Verzeichnis ersetzen, in dem Sie Runtime Environment for Linux installiert haben.

### Installieren zusätzlicher Schriftarten

Java kann alle Unicode-Zeichen anzeigen, die meisten Linux-Versionen installieren jedoch nur die Schriftarten, die für die Anzeige Ihrer Sprache benötigt werden. Sie können Schriftarten von IBM herunterladen, mit denen Sie den vollständigen Unicode-Zeichensatz anzeigen können. Diese Schriftarten sind nicht im Paket von Developer Kit for Linux enthalten, da die Dateien groß sind und nicht von allen Benutzern benötigt werden. IBM bietet zwei Unicode-Schriftarten, die jeweils nach Ländern angepasst sind. Benutzer in China und Korea müssen die länderspezifischen Versionen und alle anderen die japanische Version dieser Schriftarten verwenden.

Sie können die Schriftarten von der developerWorks-Website unter folgender Adresse herunterladen: http://www.ibm.com/developer/java/. Anhand der bereitgestellten Beschreibungen der Schriftarten können Sie einfach entscheiden, welche Schriftarten Sie herunterladen wollen.

Sie installieren eine Schriftart, indem Sie die Datei in das Verzeichnis /opt/IBMJava2-ppc-131/jre/lib/fonts stellen.

Wenn Sie die Schriftarten in Teildateien herunterladen, müssen Sie sie für jede Schriftart jeweils wieder in einer Datei zusammensetzen. Stellen Sie dazu sicher, dass sich die Teildateien im Verzeichnis /opt/IBMJava2-ppc-131/jre/lib/fonts befinden, und verwenden Sie den Befehl cat.

Wenn Sie beispielsweise die Schriftart Times New Roman WT J in mehreren Teildateien heruntergeladen haben, können Sie sie mit dem folgenden Befehl wieder zusammensetzen:

        cat tnrwt_j.t01 tnrwt_j.t02 tnrwt_j.t02 > tnrwt_j.ttf

### Installieren unter Red Hat Linux

Damit der Schriftartenserver die Java-TrueType-Schriftarten findet, müssen Sie bei der Installation auf einem Red Hat-System Folgendes ausführen:

    su root
    /usr/sbin/chkfontpath --add /opt/IBMJava2-131/jre/lib/fonts

Dies müssen Sie bei der Installation ausführen, und Sie müssen als `root` angemeldet sein, um diesen Befehl ausführen zu können.

### Installieren bei Verwendung von BEA Weblogic

Wenn Sie den BEA Weblogic-Server einsetzen möchten, müssen Sie bei der Installation von Developer Kit for Linux-Paketen die optionale JAAS-Installation abwählen. Der BEA Weblogic-Server enthält seine eigene JAAS-Implementierung.

## Deinstallieren von Runtime Environment for Linux

Der Deinstallationsprozess von Runtime Environment for Linux ist davon abhängig, ob Sie das RPM-Paket oder das komprimierte TAR-Paket installiert haben. Anweisungen hierzu finden Sie im Abschnitt Deinstallieren des RPM-Pakets oder Deinstallieren des komprimierten TAR-Pakets.

### Deinstallieren des RPM-Pakets

Gehen Sie wie folgt vor, um Runtime Environment for Linux zu deinstallieren, wenn Sie das RPM-Paket installiert haben:

1. Geben Sie Folgendes an einer Eingabeaufforderung ein:

           rpm -qa | grep IBM

   Der Name des Pakets wird angezeigt.

2. Verwenden Sie den Befehl rpm wie folgt:

           rpm -e IBMJava2-JRE

3. Entfernen Sie das Verzeichnis, in dem Sie Runtime Environment installiert haben, aus der Anweisung PATH.

### Deinstallieren des komprimierten TAR-Pakets

Gehen Sie wie folgt vor, um Runtime Environment for Linux zu deinstallieren, wenn Sie das komprimierte TAR-Paket installiert haben:

1. Entfernen Sie die Runtime Environment-Dateien aus dem Verzeichnis, in dem Sie Runtime Environment installiert haben.

2. Entfernen Sie das Verzeichnis, in dem Sie Runtime Environment installiert haben, aus der Anweisung PATH.

## Aufrufen von Java Runtime Interpreter (JRI)

Runtime Environment for Linux kann mit Hilfe des Java-Tools von einer Shell-Eingabeaufforderung aus aufgerufen werden.

- Geben Sie Folgendes ein, um eine Klasse auszuführen:

          java [-optionen] klassenname <args>

  Das Argument `klassenname` ist der Name der Klassendatei, die ausgeführt werden soll. Alle Argumente, die an die Klasse übergeben werden sollen, müssen hinter `klassenname` in der Befehlszeile angegeben werden.

- Geben Sie Folgendes ein, um eine JAR-Datei auszuführen:

          java -jar [-optionen] jar-datei <args>

  Das Argument `jar-datei` ist der Name der JAR-Datei, die ausgeführt werden soll. Alle Argumente, die an die JAR-Datei übergeben werden sollen, müssen hinter `jar-datei` in der Befehlszeile angegeben werden.

Das Java-Tool hat folgende Optionen:

-D<Name>=<Wert>
  Definiert ein Systemmerkmal.
-cp oder -classpath <Verzeichnisse und durch ; getrennte zip- oder jar-Dateien>
  Definiert den Suchpfad für Anwendungsklassen und Ressourcen.
-help oder -?
  Gibt einen Benutzungshinweis aus.
-showversion
  Gibt die Produktversion aus und setzt die Ausführung fort.
-verbose[:class | gc | jni]
  Aktiviert die ausführliche Ausgabe.
-version
  Gibt die Produktversion aus.
-X
  Gibt Hilfe für vom Standard abweichende Optionen aus.
-Xbootclasspath:<Verzeichnisse und durch ; getrennte zip- oder jar-Dateien>
  Definiert den Suchpfad für Boot-Klassen und -Ressourcen.
-Xbootclasspath/a:<Verzeichnisse und durch ; getrennte zip- oder jar-Dateien>
  Fügt an das Ende des Boot-Klassenpfads an.
-Xbootclasspath/p:<Verzeichnisse und durch ; getrennte zip- oder jar-Dateien>
  Fügt vor dem Bootprogrammklassenpfad ein.
-Xcheck:jni
  Führt zusätzliche Prüfungen für JNI-Funktionen aus.
-Xcheck:nabounds
  Führt zusätzliche Prüfungen für JNI-Bereichsoperationen aus.
-Xdebug
  Aktiviert fernes Debug.
-Xfuture
  Ermöglicht strengste Prüfungen, die zukünftige Standards vorwegnehmen
-Xgcpolicy:{optthruput | optavgpause}
  Gibt die Einstellung für Garbage Collection an. Weitere Informationen finden Sie im Abschnitt Angabe der Garbage Collection-Richtlinie.
-Xgcthreads:<n>
  Gibt die Anzahl der Threads an, die für Garbage Collection verwendet werden sollen.
-Xms<Größe>
  Definiert die Anfangsgröße des Java-Freispeichers.
-Xmx<Größe>
  Definiert die Maximalgröße des Java-Freispeichers.
-Xnoagent
  Inaktiviert die Unterstützung für den Debugger oldjdb.
-Xnoclassgc
  Inaktiviert Garbage Collection für Klassen.
-Xoss<Größe>
  Definiert die Maximalgröße für den Java-Stack für einen beliebigen Thread.
-Xquickstart
  Verbessert die Startzeit einiger Java-Anwendungen. Mit -Xquickstart wird JIT mit einer Untermenge von Optimierungen ausgeführt, also schnell kompiliert. Diese schnelle Kompilierung kann die Startzeit verbessern. -Xquickstart ist für Anwendungen mit kurzer Ausführungszeit geeignet, insbesondere für Anwendungen, bei denen der Schwerpunkt der Ausführungszeit nicht in einer kleinen Anzahl von Methoden liegt. Die Option -Xquickstart kann zu geringerer Leistung führen, wenn Sie sie für Anwendungen mit längerer Ausführungszeit verwenden, die laufzeitintensive Methoden enthalten. Die Implementierung von -Xquickstart wird sich in zukünftigen Releases ändern.
-Xrs
  Reduziert die Verwendung von Betriebssystemsignalen.
-Xrunhprof[:help] | [:<Option>=<Wert>, ...]
  Führt Freispeicher-, CPU- oder Monitorprofildefinitionen aus.
-Xrunjdwp[:help] | [:<Option>=<Wert>, ...]
  Lädt Debug-Bibliotheken, damit ferne Debug-Anwendungen unterstützt werden.
-Xss<Größe>
  Definiert die Maximalgröße für den nativen Stack für einen beliebigen Thread. Weitere Informationen finden Sie im Abschnitt Verwenden der Funktion `floating stacks`

Die -X-Optionen weichen vom Standard ab und können jederzeit geändert werden.

## Systemmerkmale

Das Systemmerkmal ibm.jvm.bootclasspath kann mit der Option -D definiert werden. Sie wird im Abschnitt Aufrufen von Java Runtime Interpreter (JRI) beschrieben. Der Wert dieses Merkmals wird als zusätzlicher Suchpfad verwendet und kann zwischen die Werte eingefügt werden, die durch -Xbootclasspath/p: und den Boot-Klassenpfad definiert werden. Der Standardpfad ist entweder der Boot-Klassenpfad oder der durch die Option -Xbootclasspath: definierte Pfad.

## Abrufen der IBM Build- und Versionsnummer

Geben Sie den folgenden Befehl an einer Shell-Eingabeaufforderung ein, um die IBM Build-Nummer und die Versionsnummer abzurufen:

`java -version`

## Verwenden der Funktion `floating stacks`

Auf einem Linux-System ohne aktivierte Funktion `floating stacks` wird unabhängig von der Einstellung für -Xss eine Minimalgröße von 256 KB für native Stacks für die einzelnen Threads bereitgestellt. Auf einem Linux-System mit aktivierter Funktion `floating stacks` werden die Werte für -Xss berücksichtigt. Wenn Sie also ein Linux-System ohne aktivierte Funktion `floating stacks` migrieren, müssen alle Werte für -Xss hoch genug sein und es darf kein Minimum von 256 KB erforderlich sein.

## Switching the input method in DBCS languages

On double-byte character set (DBCS) systems, if you want to switch the input method, you must set an environment variable that represents the keycode you use for switching. Optionally, you can set another environment variable that represents the modifiers of the keycode.

To specify the keycode to use for switching, set the IBMJAVA_INPUTMETHOD_SWITCHKEY environment variable to a keycode definition in the java.awt.event.KeyEvent class, for example, VK_F4.

Optionally, specify modifiers of the keycode. To specify modifiers of the keycode, set the IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS environment variable to some combination of the following three mask definitions in the java.awt.event.InputEvent class:

- ALT_MASK
- CTRL_MASK
- SHIFT_MASK

Separate the masks by commas.

For example you might set the IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS environment variable to ALT_MASK, CTRL_MASK.

During Java initialization, the two environment variables are stored.

To be sure you have set the environment variables correctly, press a key and check it with the key combination you specified. If it matches, a Java pop-up menu with selectable input methods is displayed.

## Devanagari fonts

This Developer Kit does not ship Devanagari fonts (Devamt.ttf and Devamtb.ttf) in the jre/lib/fonts directory. Instead, where appropriate, Java uses the Monotype Unicode fonts (Times New Roman WorldType and Sans Monospace WorldType) shipped with the IBM platform or IBM software product to support Devanagari (Hindi) fonts.

## Beispiel für Laufzeit-Software

Die folgende Sun-Website enthält das Beispielprogramm "Hello World", das Sie herunterladen können. Dieses Beispiel zeigt, wie Sie eine einfache Java-Anwendung erstellen können, die mit Runtime Environment for Linux ausgeführt wird und damit gebündelt ist. Das Beispiel können Sie auf der folgenden Sun-Website finden:

  http://java.sun.com

1. Wählen Sie Products & APIs aus.
2. Wählen Sie Java 2 Platform, Standard Edition (J2SE) unter Product Groups aus.
3. Wählen Sie Java Runtime Environment, Standard Edition, v 1.3.1 unter Current Releases aus.
4. Wählen Sie auf der linken Seite Browse unter Documentation aus.
5. Wählen Sie Notes for Developers unter Java Runtime Environment and Java-Plug-in aus.

Das Beispiel zeigt, wie Sie einen einfachen und nahtlosen Übergang von der Entwicklung einer Anwendung mit Developer Kit for Linux zum Einsatz der Anwendung mit der weniger aufwendigen Runtime Environment for Linux erreichen.

## Installieren Ihrer Anwendung auf dem System eines Benutzers

Wenn Sie das Produkt entwickelt haben und für die Auslieferung bereit sind, müssen Sie das Produkt auf dem System eines Benutzers installieren, das System des Benutzers zur Unterstützung Ihrer Software sowie die Laufzeitumgebung konfigurieren.

Wenn Sie Runtime Environment for Linux verwenden, müssen Sie sicherstellen, dass Ihr Installationsverfahren keine vorhandene Installation überschreibt (es sei denn, die vorhandene Version von Runtime Environment for Linux ist eine ältere Version).

Zum erneuten Verteilen von Runtime Environment for Linux können Sie es auf Ihrem eigenen System installieren und anschließend die erforderlichen Runtime Environment-Dateien in Ihr Installationspaket kopieren. Wenn Sie diese Methode wählen, müssen Sie alle mit Runtime Environment for Linux zur Verfügung gestellten Dateien berücksichtigen. Die Software von Runtime Environment for Linux kann nur erneut verteilt werden, wenn alle Dateien enthalten sind. Wenn Sie die Anwendung verteilt haben, hat sie schließlich eine eigene Kopie von Runtime Environment for Linux.

Weitere Informationen zu den Dateien, die erneut verteilt werden müssen, finden Sie in der Lizenzvereinbarung, die im Lieferumfang dieses Produkts enthalten ist.

## Angabe der Garbage Collection-Richtlinie

IBM Runtime Environment for Linux, Java 2 Technology Edition, Version 1.3.1, enthält die neue JVM-Laufzeitoption -Xgcpolicy zur Angabe der Garbage Collection-Richtlinie.

-Xgcpolicy kann zwei Werte annehmen: optthruput (Standardwert) und optavgpause. Die Option steuert das Verhalten der Garbage Collection, so dass zwischen dem Durchsatz von Anwendung und Gesamtsystem und den von Garbage Collection verursachten Pausenzeiten abgewogen werden kann.

Das Format der Option und der zugehörigen Werte lautet wie folgt:

> -Xgcpolicy:optthruput

und

> -Xgcpolicy:optavgpause

### Pausenzeit

Wenn eine Anwendung wegen des verfügbaren Freispeichers nicht sofort ein Objekt erstellen kann, ist die Garbage Collection zuständig für die Erkennung von Objekten ohne Verweis (Garbage), für deren Löschung und für die Wiederherstellung eines Freispeicherstatus, mit dem sofortige und nachfolgende Zuordnungsanforderungen schnell beantwortet werden können. Solche Garbage Collection-Zyklen ergeben gelegentliche unerwartete Pausen bei der Ausführung des Anwendungscodes. Wenn sich die Größe und Komplexität der Anwendungen erhöht und wenn die Freispeicher entsprechend umfangreicher werden, tendiert diese Pausenzeit der Garbage Collection dazu, größer zu werden. Der Standardwert optthruput für die Garbage Collection bietet Anwendungen einen sehr hohen Durchsatz, verursacht jedoch gelegentliche Pausen. Diese Pausen können wenige Millisekunden bis zu mehrere Sekunden dauern, je nachdem, wie groß der Freispeicher und das Garbage-Volumen ist.

### Verringerung der Pausenzeit

Der Wert optavgpause verringert die Zeit dieser Garbage Collection-Pausen beträchtlich. Außerdem wird der Effekt eines höheren Freispeicherumfangs während der Garbage Collection-Pause begrenzt. Bei Konfigurationen mit großen Freispeichern ist dies besonders relevant. (Ein Freispeicher gilt als groß, wenn er mindestens 1 GB umfasst.) Die Pausenzeiten werden dadurch verringert, dass die Garbage Collection mit normaler Programmausführung überlappt wird. Diese Überlappung bewirkt einer geringfügigen Verschlechterung des Anwendungsdurchsatzes.

### Umgebungen mit sehr vollen Freispeichern

Wenn der Java-Freispeicher nahezu voll ist und wenn sehr wenig zurückzufordender Garbage-Speicher vorhanden ist, werden Anforderungen für neue Objekte möglicherweise nicht schnell beantwortet, da kein Speicherbereich sofort verfügbar ist. Bei der Ausführung mit nahezu vollem Freispeicher kann die Anwendungsleistung geringer werden, unabhängig davon, welche der oben genannten Optionen Sie verwenden; wenn weiterhin Freispeicher angefordert wird, empfängt die Anwendung eine Ausnahmebedingung über ungenügende Speicherkapazität und die JVM wird beendet, es sei denn, die Ausnahmebedingung wird abgefangen und bearbeitet. In diesen Situationen sollten Sie entweder die Freispeichergröße mit der Option -Xmx erhöhen oder die Anzahl der verwendeten Anwendungsobjekte verringern.

### Weitere Informationen zu Garbage Collection

Weitere Informationen zur Optimierung der Freispeichergröße und zu den Auswirkungen der Garbage Collection auf die Anwendungsleistung finden Sie auf den folgenden Webseiten:

http://www.ibm.com/developerworks/library/j-jtc/index.html

http://www.ibm.com/developerworks/library/tip-heap-size.html

http://www.ibm.com/developerworks/library/j-leaks/index.html

## Dokumentation zu Runtime Environment for Linux

IBM stellt die folgende Dokumentation zum Thema 'Laufzeit' bereit:

- Jede Merkmaldatei enthält Kommentare, die beschreiben, wozu die Datei dient und wie sie geändert werden kann.

- KeyEvent verwendet die Datei awt.properties, um die Merkmale von Schlüsselereignissen auszugeben, normalerweise für Debug-Zwecke.

## Bekannte Einschränkungen

### Basisinformationen

- Wenn Sie die Java-Klasse FontMetrics zur Berechnung der Schriftartbreite bei Verwendung der Zeichenmethode einsetzen, wird die falsche Antwort zurückgegeben, und der Text wird falsch angezeigt. Dieser Fehler wird dadurch verursacht, dass die bei der Berechnung verwendeten Zahlen aus Java2D stammen, die Berechnungen selbst jedoch im AWT (Abstract Widows Toolkit) ausgeführt werden. Sie können diesen Fehler umgehen, indem Sie sowohl die Zahlen vom AWT abrufen als auch die Berechnungen mit AWT ausführen. Dazu setzen Sie die Systemvariable JAVA2D_USEAWTFONTS auf null, bevor Sie Developer Kit for Linux starten.

- Wenn Sie auf einer Maschine ohne Audiokarte Ton verwenden, erhalten Sie möglicherweise eine Fehlernachricht darüber, dass zur Java-Wiedergabe von Ton kein Speicher mehr vorhanden ist. Die Nachricht wird in der Konsole angezeigt, wirkt sich jedoch nicht auf die Java-Anwendung aus.

- Möglicherweise können Sie bei Verwendung von KDE (K Desktop Environment) als Window Manager keine Informationen mit Hilfe der Systemzwischenablage zwischen Linux-Anwendungen und Java-Anwendungen kopieren.

  1. Wählen Sie in der Liste auf der linken Seite Site Map aus.
  2. Wählen Sie unter Server Support die Option Linux aus.

- Wenn der Benutzer eine Java-Anwendung mit der Tastenkombination Strg-C beendet, bleiben einige Prozesse möglicherweise ohne Verbindung.

- Das Programm javap zeigt bei der Ausführung an einer Schnittstelle die Zeichenfolge "interface" im Ergebnis doppelt an. Wenn Sie javap z. B. für "java.lang.Runnable" ausführen, ergibt dies folgendes Ergebnis:

           public interface interface java.lang.Runnable extends java.lang.Object...

- Die vollständige Anzeige von Dialogfenstern, die mit Swing erstellt wurden, kann sich um ein paar Sekunden verzögern.

- Die Ergebnisse von Tastenkombinationen mit der Taste ALT (KeyEvent) weichen bei Verwendung verschiedener Window Manager in Linux ab. Sie weichen auch von Ergebnissen in anderen Betriebssystemen ab. Im Window Manager Enlightenment generieren die Tastenkombinationen Alt+A und Umschalt+Alt+A verschiedene Änderungswerte, und Strg+Alt+A generiert überhaupt kein Tastenereignis. Bei Verwendung des Window Managers WindowMaker generiert die Tastenkombination Strg+Alt+A jedoch ein Tastenereignis.

  Im Linux X Window System ist die Tastenbelegung wie folgt festgelegt: 64 0xffe9 (Alt_L) 0xffe7 (Meta_L) und 113 0xffea (Alt_R) 0xffe8 (Meta_R). Geben Sie Folgendes an der Shell-Eingabeaufforderung ein, um dies zu überprüfen:

               xmodmap -pk

### Informationen zur Linux-Speicherzuordnung

Java-Anwendungen mit vielen Threads können die Kapazität des Systemspeichers überschreiten. Sie können das Maximum von Threads, die eine Java-Anwendung verwenden kann, mit der folgenden Formel bestimmen:

        heap-speichergröße(MB) + 2*thread-zähler <      910   (ungefährer Wert)

Wenn der Speicher belegt ist, berichtet JVM oder der JIT-Compiler eine Fehlerbedingung ähnlich der folgenden:

       Exception in thread "main"
          java.lang.OutOfMemoryError
          at java.lang.Thread.start(Native Method)
          at serling.main(serling.java:29)

       COMPILER ERROR: java/io/ObjectStreamClass.compareClassNames - JIT:
          Out of memory, emitcode

Relevant ist die Angabe "Out of memory" (Kein freier Speicher vorhanden). Die spezifischen Dateien oder Methoden, die ausgegeben werden, sind nicht relevant. Außerdem können auf die oben genannte Nachricht weitere Fehlernachrichten folgen, die keine zusätzlichen Fehler anzeigen, sondern sekundäre Effekte des belegten Speichers angeben.

### Information for Japanese users

This release supports only US English and Japanese. Japanese language support was tested only with TurboLinux Server 6.1 for zSeries and S/390, and not tested with SuSE Linux 7.0. This was because, at present, only TurboLinux Server 6.1 for zSeries and S/390 supports Japanese.

#### Japanese fonts

Swing components can display Japanese fonts by installing the Japanese WorldType fonts. (See the section on Installing additional fonts). Installing Japanese WorldType fonts does not affect AWT components nor IM switching panels. To avoid this problem, additional Japanese TrueType fonts need to be installed.

TurboLinux Japan have made the Japanese TrueType fonts available from their website - http://www.turbolinux.co.jp (Search word : truetype)

#### Tested environments

S/390 does not have any natively attached graphical displays. Therefore a remote system, which has a graphical display, is required. There are two ways to display X applications on the remote systems.

1. XDMCP (X Display Manager Control Protocol): The Graphic Client displays the entire X screen of the Linux S/390 system.
2. DISPLAY contents: The Graphic Client displays the application window of the Linux S/390 system.

TurboLinux Server 6.1 for zSeries and S/390 does not have any IM (Input Method) interface such as kinput2. As a result only the second option above has been tested for this release.

The following environments have been tested :

System | OS | Language | Window Manager | Host Attached Input Method Engine
Java System | TurboLinux for S/390 | Japanese (EUC) | FVWM2 lesstif-mwm, twm (no kinput2) | Canna 3.5 (no kinput2)
Graphic Client | TurboLinux Server J6.5 | Japanese (EUC) | Sawfish1 with GNOME | Canna 3.5 with kinput2 FreeWnn with kinput2

#### Japanese Kana-Kanji conversion users

On Japanese versions of Linux, you can use a Japanese input method such as Canna, ATOK12(TM) SE, Wnn4(TM), or Wnn6. Use the following sections to avoid problems when using these Japanese input methods.

All Input Method users

- If you use an IME on a TextArea or a TextField component, the committed text sometimes disappears when you commit the composed text. To avoid this problem, move the mouse pointer away from the composed text and away from the status information line when you commit the composed text. If you do encounter the problem, press the Enter key again, and then the committed text is displayed.

- If you use an IME on a TextArea or a TextField component, the composed text is sometimes displayed in the wrong position. To avoid this problem, do not change the component position vertically after you commit a string. If you do encounter this problem, re-activate the IME, and then the composed text is displayed at the correct position. The committed text is always displayed at the correct position.

- If you use an IME with the Sawfish (previously known as Sawmill) window manager, an Input Method Framework (IMF) status window, which is a small window attached to the Java client window, always stays on the top of all the windows on your desktop, even if you switch to another window.

  To bring another window to the top, do one of the following:

  - Minimize the Java client window
  - Drag the Java client window to move it away from the desktop.

Canna users
  If you are using the Canna input method with the kinput2 input method server, some visual feedback from the input method is not visible while you are in KIGOU input mode. To avoid the problem, move the focus onto the client window after the Auxiliary Control Window opens.

ATOK12 SE users

- If you are using ATOK12 SE for Linux, composed text might not be committed immediately after you select a candidate in the lookup window. If you continue to input a character, then the committed candidate is displayed.
- If you are using ATOK12 SE for Linux, changing the input focus between the components neither commits nor flushes the composed text, and you can continue to edit the composed text while other input methods commit or flush the composed text when the focus changes.

Wnn4 users
  If you are using Wnn4, the Enter key does not create a new line and a carriage return while the Input Method Editor (IME) is activated. To create a new line and carriage return, deactivate the IME.

Wnn6 users
  The xwnmo Input Method server is not supported. Use kinput2 as the Input Method server.

IIIMP IME users
  IME's (Input Method Editor) using Internet-Intranet Input Method Protocol(IIIMP) are not supported on TurboLinux Workstation 6.0J.

## Bemerkungen

Die vorliegenden Informationen wurden für Produkte und Services entwickelt, die auf dem US-amerikanischen Markt angeboten werden.

Möglicherweise bietet IBM die in dieser Dokumentation beschriebenen Produkte, Services oder Funktionen in anderen Ländern nicht an. Informationen über die gegenwärtig im jeweiligen Land verfügbaren Produkte und Services sind beim IBM Ansprechpartner erhältlich. Hinweise auf IBM Lizenzprogramme oder andere IBM Produkte bedeuten nicht, dass nur Programme, Produkte oder Dienstleistungen von IBM verwendet werden können. Anstelle der IBM Produkte, Programme oder Dienstleistungen können auch andere ihnen äquivalente Produkte, Programme oder Dienstleistungen verwendet werden, solange diese keine gewerblichen Schutzrechte der IBM verletzen. Die Verantwortung für den Betrieb von Fremdprodukten, Fremdprogrammen und Fremdservices liegt beim Kunden.

Für in diesem Handbuch beschriebene Erzeugnisse und Verfahren kann es IBM Patente oder Patentanmeldungen geben. Mit der Auslieferung dieses Handbuchs ist keine Lizenzierung dieser Patente verbunden. Lizenzanfragen sind schriftlich an IBM Europe, Director of Licensing, 92066 Paris La Defense Cedex, France zu richten. Anfragen an obige Adresse müssen auf Englisch formuliert werden.

Trotz sorgfältiger Bearbeitung können technische Ungenauigkeiten oder Druckfehler in dieser Veröffentlichung nicht ausgeschlossen werden. IBM kann jederzeit ohne Vorankündigung Verbesserungen und/oder Änderungen an den in dieser Veröffentlichung beschriebenen Produkten und/oder Programmen vornehmen.

Verweise in dieser Veröffentlichung auf Websites anderer Anbieter dienen lediglich als Benutzerinformationen und stellen keinerlei Billigung des Inhalts dieser Websites dar. Das über diese Websites verfügbare Material ist nicht Bestandteil des Materials für dieses IBM Produkt. Die Verwendung dieser Websites geschieht auf eigene Verantwortung.

Werden an IBM Informationen eingesandt, können diese beliebig verwendet werden, ohne dass eine Verpflichtung gegenüber dem Einsender entsteht.

Lizenznehmer des Programms, die Informationen zu diesem Produkt wünschen mit der Zielsetzung: (i) den Austausch von Informationen zwischen unabhängigen, erstellten Programmen und anderen Programmen (einschließlich des vorliegenden Programms) sowie (ii) die gemeinsame Nutzung der ausgetauschten Informationen zu ermöglichen, wenden sich an folgende Adresse:

- JTCMAIL@uk.ibm.com
  [Ansprechpartner im Hursley Java Technology Center (JTC)]

Die Bereitstellung dieser Informationen kann unter Umständen von bestimmten Bedingungen - in einigen Fällen auch von der Zahlung einer Gebühr - abhängig sein.

Die Lieferung des in der Informationsdatei aufgeführten Lizenzprogramms sowie des zugehörigen Lizenzmaterials erfolgt im Rahmen der Allgemeinen Geschäftsbedingungen der IBM oder einer äquivalenten Vereinbarung.

Alle in diesem Dokument enthaltenen Leistungsdaten stammen aus einer gesteuerten Umgebung. Die Ergebnisse, die in anderen Betriebsumgebungen erzielt werden, können daher erheblich von den hier erzielten Ergebnissen abweichen. Einige Daten stammen möglicherweise von Systemen, deren Entwicklung noch nicht abgeschlossen ist. Eine Garantie, dass diese Daten auch in allgemein verfügbaren Systemen erzielt werden, kann nicht gegeben werden. Darüber hinaus wurden einige Daten unter Umständen durch Extrapolation berechnet. Die tatsächlichen Ergebnisse können abweichen. Benutzer dieses Dokuments sollten die entsprechenden Daten in ihrer spezifischen Umgebung prüfen. Diese Daten stellen deshalb keine Leistungsgarantie dar.

Informationen über Produkte anderer Hersteller als IBM wurden von den Herstellern dieser Produkte zur Verfügung gestellt, bzw. aus von ihnen veröffentlichten Ankündigungen oder anderen öffentlich zugänglichen Quellen entnommen. IBM hat diese Produkte nicht getestet und übernimmt im Hinblick auf Produkte anderer Hersteller keine Verantwortung für einwandfreie Funktion, Kompatibilität oder andere Ansprüche. Fragen zu den Leistungsmerkmalen von Produkten anderer Anbieter sind an den jeweiligen Anbieter zu richten.

### Marken

IBM ist in gewissen Ländern eine Marke der International Business Machines Corporation.

Java und alle Java-basierten Marken und Logos sind in gewissen Ländern Marken oder eingetragene Marken der Sun Microsystems, Inc. Eigentum und Exklusivrechte an der Java-Technologie liegen bei Sun Microsystems, Inc.

Andere Namen von Unternehmen, Produkten oder Dienstleistungen können Marken anderer Unternehmen sein.

### Änderungen in der IBM Terminologie

Die ständige Weiterentwicklung der deutschen Sprache nimmt auch Einfluss auf die IBM Terminologie. Durch die daraus resultierende Umstellung der IBM Terminologie kann es u. U. vorkommen, dass in diesem Handbuch sowohl alte als auch neue Termini gleichbedeutend verwendet werden. Dies ist der Fall, wenn auf ältere existierende Handbuchausschnitte und/oder Programmteile zurückgegriffen wird.