IBM 32-bit Runtime Environment for Linux on Intel architecture, Java 2 Technology Edition, Version 1.4.1; Benutzerhandbuch


Copyrightvermerk

Anmerkung: Vor Verwendung dieser Informationen und des dazugehörigen Produkts sollten Sie die allgemeinen Informationen im Abschnitt Bemerkungen lesen.

Diese Ausgabe des Benutzerhandbuchs bezieht sich auf IBM 32-bit Runtime Environment for Linux on Intel architecture, Java 2 Technology Edition, Version 1.4.1, und auf alle nachfolgenden Releases und Änderungen, bis zur Herausgabe neuer Dateiversionen.

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

(c) Copyright International Business Machines Corporation, 1999, 2003. All rights reserved.

(c) Copyright IBM Deutschland GmbH 1999, 2002. Alle Rechte vorbehalten.


Vorwort

IBM(R) 32-bit Runtime Environment for Linux on Intel architecture, Java(TM) 2 Technology Edition, Version 1.4.1 umfasst Java Virtual Machine (JVM), die wichtigsten Java-Klassen von Sun Microsystems und Unterstützungsdateien. Runtime Environment enthält nicht alle Klassen des SDK-Pakets.

Das Benutzerhandbuch stellt allgemeine Informationen zu Runtime Environment und spezielle Informationen zu allen Unterschieden zwischen der IBM Implementierung und der Sun Microsystems-Implementierung von Runtime Environment zur Verfügung. Lesen Sie dieses Benutzerhandbuch zusammen mit der ausführlicheren Dokumentation auf der folgenden Website von Sun Microsystems: http://java.sun.com.

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

Beachten Sie, dass es sich bei Runtime Environment for Linux um eine Untergruppe von SDK handelt, mit der Sie nur Java-Anwendungen ausführen können. Wenn Sie SDK installiert haben, ist auch Runtime Environment enthalten.

Die Begriffe "Runtime Environment" und "Java Virtual Machine" sind in diesem Handbuch gleichbedeutend.

Technische Änderungen, die in diesem Benutzerhandbuch zu Version 1.4.1 enthalten sind, außer unwichtiger oder offensichtlicher Änderungen, wie beispielsweise die Aktualisierung von "1.4.0" in "1.4.1", sind rot dargestellt, wenn sie als HTML-Datei angezeigt oder als Farbkopie ausgedruckt werden. Außerdem wird durch vertikale Balken am linken Rand auf diese Änderungen hingewiesen.


Inhaltsverzeichnis

Copyrightvermerk

Vorwort

Übersicht

  • Versionskompatibilität
  • 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

    Deinstallieren von Runtime Environment for Linux

  • Deinstallieren des installierbaren RPM-Pakets (Red Hat Package Manager)
  • Deinstallieren des komprimierten TAR-Pakets (Tape Archive)
  • Starten einer Java-Anwendung

  • Befehle im Überblick
  • Optionen
  • Standardoptionen
  • Vom Standard abweichende Optionen
  • Globalisierung des Befehls 'java'
  • Arbeiten mit Klassenpfaden
  • |Signalverarbeitung durch die JVM
  • |Von der JVM verwendete Signale
  • |Verbinden eines nativen Codetreibers mit der Signalverkettungsbibliothek
  • Arbeiten mit dem Merkmal 'bootclasspath'
  • Angeben der Garbage Collection-Richtlinie
  • Pausezeit
  • Verringerung der Pausezeit
  • Umgebungen mit sehr vollen Freispeichern
  • Weitere Informationen zu Garbage Collection
  • Abrufen der IBM Build- und Versionsnummer

    Verwenden des Java-Plug-ins

  • Installieren und Konfigurieren des Java-Plug-ins
  • Installieren des Java-Plug-ins für Mozilla
  • Unterstützte Browser
  • Verwenden von DBCS-Parametern
  • Verwenden von 'Web Start'

  • Installieren von Web Start
  • Verwenden der Funktion 'floating stacks'

    Ändern der Eingabemethode in DBCS-Sprachen

    Beispiel für Laufzeit-Software

    Installieren Ihrer Anwendung auf dem System eines Benutzers

    Bekannte Einschränkungen

    Bemerkungen

  • Marken

  • Übersicht

    Runtime Environment for Linux enthält die zum Erstellen einer Java-Laufzeitumgebung und zum Ausführen von Java-Programmen erforderlichen Untergruppen von Klassen. Es umfasst außerdem die Java Virtual Machine, Java-Klassen und Unterstützungsdateien. Runtime Environment for Linux enthält nur eine Untergruppe der Klassen aus SDK.


    Versionskompatibilität

    |Normalerweise werden alle Applets oder Anwendungen, die in Version |1.1.8, 1.2.2 oder 1.3.1 von SDK for |Linux ausgeführt werden können, auch in dieser Version ordnungsgemäß |ausgeführt. Applets, die unter Java 1.4.1-APIs von Sun |ausgeführt werden, funktionieren nur mit Browsern, die Java |1.4.1-APIs unterstützen.

    Es ist nicht gewährleistet, dass mit Version 1.4.1 kompilierte Klassen mit einem Runtime Environment-Release vor Version 1.4.0 funktionieren.


    In Runtime Environment for Linux enthaltene Dateien

    Runtime Environment for Linux enthält SO-Dateien, die nicht für die Verwendung mit einem Debugger geeignet sind, sowie Klassendateien, die zur Unterstützung eines Programms zur Laufzeit benötigt werden. Runtime Environment for Linux enthält 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 Communications API 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 eine Abkürzung für die Sprache.)

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


    Der JIT-Compiler (Just-in-Time)

    Der JIT-Compiler (Just-in-Time), libjitc.so, generiert während der Ausführung dynamisch Maschinencode für häufig verwendete Bytecodesequenzen in Java-Anwendungen und Java-Applets.

    Runtime Environment für Linux enthält 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 zum Inaktivieren des JIT-Compilers folgenden Befehl an einer Shelleingabeaufforderung in dem Fenster ein, über das Sie die Anwendung ausführen möchten:

        export JAVA_COMPILER=NONE
    

    Geben Sie folgenden Befehl an der Shelleingabeaufforderung ein, um den JIT-Compiler zu aktivieren:

        export JAVA_COMPILER=jitc
    

    Wenn Sie prüfen wollen, ob der JIT-Compiler aktiviert ist, geben Sie folgenden Befehl an der Shelleingabeaufforderung 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. Weitere Informationen zur Verwendung von JNI finden Sie auf der folgenden Sun-Website: http://java.sun.com.


    Konfigurieren von Runtime Environment for Linux

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

    /opt/IBMJava2-141/jre/bin

    Wenn Sie Runtime Environment for Linux in einem anderen Verzeichnis als im Verzeichnis /opt/IBMJava2-141/ installiert haben, müssen Sie das Verzeichnis /opt/IBMJava2-141/ durch das Verzeichnis ersetzen, in dem Sie Runtime Environment for Linux installiert haben.


    Deinstallieren von Runtime Environment for Linux

    Der Deinstallationsprozess von Runtime Environment for Linux ist davon abhängig, ob auf Ihrem System das installierbare RPM-Paket (Red Hat Package Manager) oder das komprimierte TAR-Paket (Tape Archive) installiert ist. Anweisungen hierzu finden Sie im Abschnitt Deinstallieren des installierbaren RPM-Pakets (Red Hat Package Manager) oder Deinstallieren des komprimierten TAR-Pakets (Tape Archive).


    Deinstallieren des installierbaren RPM-Pakets (Red Hat Package Manager)

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

    1. Geben Sie Folgendes an einer Shelleingabeaufforderung ein:

          rpm -e IBMJava2-JRE-1.4.1     
      

      Sie können auch ein grafisches Tool verwenden, wie beispielsweise kpackage oder yast2.

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

    3. Wenn Sie das Java-Plug-in installiert haben, entfernen Sie die Java-Plug-in-Dateien aus dem Netscape-Verzeichnis.



    Deinstallieren des komprimierten TAR-Pakets (Tape Archive)

    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.

    3. Wenn Sie das Java-Plug-in installiert haben, entfernen Sie die Java-Plug-in-Dateien aus dem Netscape-Verzeichnis.


    Starten einer Java-Anwendung

    Mit dem Tool java wird eine Java-Anwendung gestartet.

    JVM sucht die Systemstartklasse und andere verwendete Klassen in den drei folgenden Positionsgruppen: im Klassenpfad des Bootprogramms, in den installierten Erweiterungen und im Benutzerklassenpfad. Argumente, die auf den Klassennamen oder den Namen der JAR-Datei folgen, werden an die Funktion "main" weitergegeben.

    Der Befehl javaw ist identisch mit dem Befehl java, außer dass beim Verwenden des Befehls javaw kein zugeordnetes Konsolfenster angezeigt wird. Verwenden Sie den Befehl javaw, wenn kein Fenster mit einer Eingabeaufforderung angezeigt werden soll. Der Startbefehl javaw zeigt im Falle eines fehlgeschlagenen Starts ein Dialogfenster mit Fehlerinformationen an.


    Befehle im Überblick

    Die Befehle java und javaw haben folgende Syntax:

    java [ Optionen ] Klasse [ Argumente ... ]
    java [ Optionen ] -jar Datei.jar [ Argumente ... ]
    javaw [ Optionen ] Klasse [ Argumente ... ]
    javaw [ Optionen ] -jar Datei.jar [ Argumente ... ]
     
    

    Elemente in eckigen Klammern sind optional.

    Optionen
    Befehlszeilenoptionen.
    Klasse
    Der Name der Klasse, die aufgerufen werden soll.
    Datei.jar
    Der Name der Datei mit der Erweiterung 'jar', die aufgerufen werden soll. Sie wird nur mit der Option -jar verwendet.
    Argumente
    Die Argumente, die an die Funktion main weitergeleitet werden.

    Wenn die Option -jar angegeben wurde, enthält die benannte JAR-Datei Klassen- und Ressourcendateien für die Anwendung, wobei die Systemstartklasse über den Manifestheader für die Hauptklasse angegeben wird.


    Optionen

    Das Startprogramm verfügt über mehrere Standardoptionen, die in der aktuellen Laufzeitumgebung und auch in zukünftigen Releases unterstützt werden. Daneben gibt es mehrere vom Standard abweichende Optionen.

    Standardoptionen

    -D<Merkmalname>=<Wert>

    Definiert ein Systemmerkmal.

    -assert

    Zeigt Hilfe für auf Festlegungen bezogene Optionen an.

    -cp oder -classpath <durch : getrennte Verzeichnisse und ZIP- oder JAR-Dateien>

    Definiert den Suchpfad für Anwendungsklassen und Ressourcen. Wenn die Optionen -classpath und -cp nicht verwendet werden und wenn CLASSPATH nicht definiert wurde, ist der Benutzerklassenpfad standardmäßig das aktuelle Verzeichnis (.). Siehe auch den Abschnitt Arbeiten mit Klassenpfaden.

    -help oder -?

    Zeigt einen Benutzungshinweis an.

    -showversion

    Zeigt die Produktversion an und setzt den Vorgang fort.

    -verbose[:class | gc | jni]

    Aktiviert die ausführliche Ausgabe.

    -version

    Zeigt die Produktversion an.

    -X

    Zeigt Hilfe für vom Standard abweichende Optionen an.

    Vom Standard abweichende Optionen

    Bei den unten aufgelisteten Optionen -X handelt es sich um eine Untergruppe der verfügbaren Optionen. Sie weichen vom Standard ab und können jederzeit ohne vorherige Ankündigung geändert werden.

    -Xargencoding

    Mit dieser Option können die Optionen des Befehls java Unicode-Escapezeichenfolgen verwenden, um Zeichen darzustellen, die sich nicht im Zeichensatz der Ländereinstellung befinden. Unicode-Escapezeichenfolgen weisen das Format \u#### auf. Dabei ist # eine Hexadezimalziffer.

    -Xbootclasspath:<durch ; getrennte Verzeichnisse und ZIP- oder JAR-Dateien>

    Definiert den Suchpfad für Bootklassen und -ressourcen. Zum Definieren des Bootklassenpfads gibt es andere Möglichkeiten. Siehe den Abschnitt Arbeiten mit dem Merkmal 'bootclasspath'. |Implementieren Sie keine Anwendungen, bei denen mit dieser Option |eine Klasse in den Dateien core.jar, graphics.jar, |server.jar, security.jar, xml.jar, tools.jar oder |charsets.jar überschrieben wird, da eine solche Implementierung gegen |die Java 2 Runtime Environment-Binärcodelizenz verstoßen würde.

    -Xbootclasspath/a:<durch ; getrennte Verzeichnisse und ZIP- oder JAR-Dateien>

    Fügt an das Ende des Bootklassenpfads an.

    |-Xbootclasspath/p:<durch ; getrennte |Verzeichnisse und ZIP- oder JAR-Dateien> |

    |Fügt vor dem Klassenpfad des Bootprogramms ein. Implementieren Sie keine Anwendungen, bei denen mit dieser Option |eine Klasse in den Dateien core.jar, graphics.jar, |server.jar, security.jar, xml.jar, tools.jar oder |charsets.jar überschrieben wird, da eine solche Implementierung gegen |die Java 2 Runtime Environment-Binärcodelizenz verstößt. |

    -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

    Startet JVM mit aktiviertem Debugger.

    |-Xdisableexplicitgc |

    |Ändert Aufrufe von System.gc() in no-op. |

    -Xdisablejavadump

    Inaktiviert die Java-Speicherauszugsfunktion für abnormale Prozessbeendigung. Wenn der Java-Speicherauszug inaktiviert ist, wird der Speicherauszug für die Beendigung des Systemprozesses ausgeführt. Der Java-Speicherauszug wird empfohlen, wenn ein Fehler im Java-Code auftritt. Wenn Fehler bei Systemkomponenten auftreten, ist es möglicherweise hilfreicher, den normalen Systemspeicherauszug abzurufen.

    |-Xgcpolicy:{optthruput | optavgpause} |

    |Gibt die Einstellung für Garbage Collection an. Die |Standardeinstellung lautet optthruput. Weitere |Informationen finden Sie im Abschnitt Angeben der Garbage |Collection-Richtlinie. |

    -Xms<Größe>

    Definiert die Anfangsgröße des Java-Freispeichers.

    -Xmx<Größe>

    Definiert die Maximalgröße des Java-Freispeichers.

    -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

    |Optimiert die Startzeit von Anwendungen. Wenn Sie diese |Option nicht angeben, wird die ursprüngliche Kompilierung von Methoden mit |einem hohen Optimierungsgrad durchgeführt (dies bedeutet, dass der |JIT-Compiler kritische Methoden nicht erneut kompiliert, da die Methoden |ursprünglich mit einem hohen Optimierungsgrad kompiliert wurden).

    -Xrs

    Reduziert die Verwendung von Betriebssystemsignalen.

    -XrunBibliothekname[:Optionen]

    Lädt Bibliotheken mit Hilfeprogrammen. Geben Sie zum Laden mehrerer Bibliotheken diese Option mehrmals in der Befehlszeile an. Beispiele für diese Bibliotheken:
    • -Xrunhprof[:help] | [:<Option>=<Wert>, ...]
      Erstellt Profile für Freispeicher, CPU oder Überwachungsprogramme.
    • -Xrunjdwp[:help] | [:<Option>=<Wert>, ...]
      Lädt Debugbibliotheken, damit das ferne Debugging von Anwendungen unterstützt wird.

    -Xss<Größe>

    Definiert die Maximalgröße für den nativen Stack für einen beliebigen Thread. Weitere Informationen finden Sie im Abschnitt Arbeiten mit der Funktion 'floating stacks'.

    |-Xverbosegclog:<Dateipfad><Dateiname>[X, |Y] |

    |Die verboseGC-Ausgabe wird in die angegebene Datei geschrieben. |Wenn die Datei bereits vorhanden ist, wird sie überschrieben. Ist dies |nicht der Fall, wird die Ausgabe an stderr umgeleitet, falls eine vorhandene |Datei nicht geöffnet oder eine neue Datei nicht erstellt werden kann. |Wenn Sie die Argumente X und Y (bei beiden handelt es sich um ganze Zahlen) |angeben, wird die verboseGC-Ausgabe an Y Dateien umgeleitet, von denen jede X |gc-Zyklen mit verboseGC-Ausgaben enthält. Diese Dateien weisen |folgendes Format auf: Dateiname1, Dateiname2 usw.
    |Anmerkung:
    Die Umgebungsvariable IBM_JVM_ST_VERBOSEGC_LOG wurde aus diesem |Release entfernt. |
    |

    -Xverify

    Ermöglicht strengste Prüfungen, die zukünftige Standardwerte vorwegnehmen.

    Globalisierung des Befehls 'java'

    Mit dem Befehl java und mit anderen Java-Startbefehlen (wie beispielsweise javaw) kann ein Klassenname mit beliebigen Unicode-Zeichen angegeben werden, die im Zeichensatz der aktuellen Ländereinstellung enthalten sind.

    Sie können beliebige Unicode-Zeichen im Klassennamen und in den Argumenten angeben, indem Sie Java-Escapezeichen verwenden. Für diesen Vorgang müssen Sie die Option -Xargencoding angeben. Verwenden Sie zum Angeben eines Unicode-Zeichens Escapezeichenfolgen im Format \u####. Dabei ist # eine Hexadezimalziffer (0-9, A-F).

    Wenn Sie angeben möchten, dass der Klassenname und die Befehlsargumente im UTF8- oder ISO8859_1-Code verschlüsselt sind, verwenden Sie -Xargencoding:utf8 und -Xargencoding:latin.

    Wenn Sie eine andere Ländereinstellung als Englisch verwenden, zeigen die Befehle java und javaw in Runtime Environment übersetzte Ausgabenachrichten an. Diese Nachrichten unterscheiden sich von den Nachrichten in der Version 1.3.1. Sie unterscheiden sich außerdem auf Grund der Ländereinstellung, mit der Java ausgeführt wird. Die detaillierte Fehlerbeschreibung und andere von java zurückgegebene Fehlerinformationen werden in Englisch angezeigt. Fehlerinformationen, die während der Initialisierung zurückgegeben werden, werden in eckigen Klammern angezeigt.


    Arbeiten mit Klassenpfaden

    In Runtime Environment können Sie einen Klassennamen als vollständigen Dateinamen mit einem vollständigen Pfad und der Erweiterung .class angeben. In vorherigen Versionen von SDK konnten Sie die Klasse nur in Bezug auf CLASSPATH angeben. Die Erweiterung .class war nicht zulässig. Durch Angabe des vollständigen Dateinamens können Sie eine Java-Anwendung über den Desktop oder über ein Dateistartprogramm starten. Wenn Sie eine Datei mit der Erweiterung .class mit Pfad und Erweiterung angeben, wird der angegebene Pfad in CLASSPATH eingefügt. Beispielsweise entspricht der Befehl java c:\myapp\thisapp.class der Angabe java -classpath c:\myapp thisapp.


    |Signalverarbeitung durch die JVM

    |Wenn ein für die Java Virtual Machine (JVM) wichtiges Signal gesendet wird, |wird eine Signalroutine aufgerufen. Diese Signalroutine legt fest, ob |das Signal für einen Java- oder Nicht-Java-Thread aufgerufen wurde. |Wurde das Signal für einen Java-Thread aufgerufen, steuert die JVM die |Signalverarbeitung. Wurde das Signal für einen Nicht-Java-Thread |aufgerufen und wurde zuvor mit der Anwendung, mit der die JVM installiert |wurde, eine eigene Routine für das Signal installiert, übernimmt diese |Signalroutine die Steuerung. Ist dies nicht der Fall, wird das Signal |ignoriert (unabhängig davon, ob dies die Standardaktion des Signals |ist).

    |Die JVM führt für Signale bei Ausnahmebedingungen und für Fehlersignale |eine der folgenden Aktionen aus: |

    |Bei Interruptsignalen beginnt die JVM ebenfalls eine Sequenz für einen |kontrollierten Systemabschluss, der jedoch in diesem Fall wie eine normale |Beendigung behandelt wird. Hierbei führt die JVM die folgenden Aktionen |aus: |

    |Der Systemabschluss entspricht dem Systemabschluss, der über einen Aufruf |der Java-Methode System.exit() eingeleitet wurde.

    |Weitere von der JVM verwendete Signale werden für die interne Steuerung |verwendet und führen nicht zur Beendigung der JVM. Das einzige wichtige |Steuerungssignal ist SIGQUIT, durch das ein Java-Kernspeicherauszug generiert |wird.

    |Von der JVM verwendete Signale

    |In Tabelle 1 sind die von der JVM verwendeten Signale aufgeführt. |Die Signale wurden in der Tabelle nach Typ oder Verwendung wie folgt |zusammengefasst: |


    |

    |Tabelle 1. Von der JVM verwendete Signale

    Signalname Signaltyp Beschreibung Inaktiviert durch -Xrs
    SIGSEGV Ausnahmebedingung Falscher Zugriff auf den Speicher (es wurden Daten in einen Speicherbereich geschrieben, auf den nicht zugegriffen werden kann). Nein
    SIGILL Ausnahmebedingung Nicht zulässige Anweisung (es wurde versucht, eine unbekannte Maschineninstruktion aufzurufen). Nein
    SIGFPE Ausnahmebedingung Ausnahmebedingung bei der Gleitkommaverarbeitung (Division durch Null). Nein
    SIGBUS Ausnahmebedingung Busfehler (es wurde versucht, eine nicht vorhandene Speicherposition anzugeben). Ja
    SIGSYS Ausnahmebedingung Es wurde ein ungültiger Systemaufruf abgesetzt. Ja
    SIGXCPU Ausnahmebedingung Das CPU-Zeitlimit wurde überschritten (die Ausführung eines Vorgangs dauerte zu lange). Ja
    SIGXFSZ Ausnahmebedingung Der Grenzwert für die Dateigröße wurde überschritten. Ja
    SIGABRT Fehler Abnormale Beendigung. Die JVM setzt dieses Signal ab, sobald sie einen JVM-Fehler feststellt. Ja
    SIGINT Interrupt Interaktiver Abruf (Strg-C). Die JVM wird normal beendet. Ja
    SIGTERM Interrupt Beendigungsanforderung. Die JVM wird normal beendet. Ja
    SIGHUP Interrupt Auflegen. Die JVM wird normal beendet. Ja
    SIGUSR1 Steuerzeichen Benutzerdefiniert. Es wird von einigen JVMs für die interne Steuerung verwendet. Nein
    SIGUSR2 Steuerzeichen Benutzerdefiniert. Es wird von einigen JVMs für die interne Steuerung verwendet. Nein
    SIGQUIT Steuerzeichen Ein Beendigungssignal für ein Terminal. JVM verwendet dieses Signal zum Ausführen von Java-Kernspeicherauszügen. Ja
    SIGTRAP Steuerzeichen Ein internes Signal für die Verwendung durch dbx oder ptrace. Dieses Signal wird von einigen JVMs für die interne Steuerung verwendet. Ja
    SIGPIPE Steuerzeichen Schreibvorgang in eine Pipe, aus der keine Daten gelesen werden. JVM ignoriert dies. Nein

    |Mit Hilfe der Option -Xrs (Reduzierung der Verwendung von |Signalen) können Sie verhindern, dass JVM die meisten Signale |verwendet. Weitere Informationen hierzu finden Sie auf der Sun-Website |zum Startprogramm für Java-Anwendungen unter http://java.sun.com/j2se/1.4.1/docs/tooldocs/windows/java.html.

    |Die Signale 1 (SIGHUP), 2 (SIGINT), 4 |(SIGILL), 6 (SIGABRT), 7 (SIGEMT), 8 |(SIGFPE), 10 (SIGBUS), 11 (SIGSEGV), 12 |(SIGSYS), 15 (SIGTERM) und 24 (SIGXCPU) führen |dazu, dass die JVM beendet wird. Daher sollte eine |Anwendungssignalroutine bei diesen Signalen keine Wiederherstellung versuchen, |es sei denn, die Services der JVM werden nicht mehr benötigt.

    |Verbinden eines nativen Codetreibers mit der Signalverkettungsbibliothek

    |Die JVM von IBM 32-bit Runtime Environment for Linux on Intel architecture, |Java 2 Technology Edition, Version 1.4.1 enthält eine neue |Signalverkettungsfunktion. Die Signalverkettung ermöglicht eine |effizientere Interaktion der JVM mit nativem Code, über den eigene |Signalroutinen installiert werden.

    |Mit der Signalverkettungsfunktion kann eine Anwendung mit der gemeinsam |benutzten Bibliothek libjsig.so verbunden werden und diese Bibliothek |vor libc/libthread/libpthread laden. Mit Hilfe der Bibliothek |jsig.dll wird sichergestellt, dass Aufrufe (wie z. B. |signal(), sigset() und sigaction()) |abgefangen werden, so dass die JVM-Signalroutinen nicht durch die zugehörigen |Signalroutinen ersetzt werden. Stattdessen werden die neuen |Signalroutinen durch diese Aufrufe gesichert oder nach den durch die JVM |installierten Signalroutinen hinzugefügt. Wenn diese Signale zu einem |späteren Zeit gesendet werden und nicht an die JVM gerichtet sind, werden die |vorinstallierten Signalroutinen aufgerufen.

    |Führen Sie die folgenden Schritte aus, um libjsig.so zu |verwenden: |

    |Wenn Sie Signalroutinen installieren, die sigaction() verwenden, |werden einige sa_flags nicht überwacht, wenn die JVM das Signal |verwendet. Dabei handelt es sich um folgende Markierungen: |

    |Die Bibliothek libjsig.so verdeckt auch JVM-Signalroutinen vor der |Anwendung. Daher geben Aufrufe wie signal(), |sigset() und sigaction(), die nach dem Starten der JVM |ausgeführt werden, keinen Verweis mehr auf die JVM-Signalroutine sondern auf |eine beliebige vor dem Starten der JVM installierte Routine |zurück.


    Arbeiten mit dem Merkmal 'bootclasspath'

    Sie können das Systemmerkmal ibm.jvm.bootclasspath mit der im Abschnitt Starten einer Java-Anwendung beschriebenen Option -D festlegen. Der Wert dieses Merkmals wird als zusätzlicher Suchpfad verwendet und kann zwischen die Werte eingefügt werden, die durch -Xbootclasspath/p: und den Klassenpfad des Bootprogramms definiert werden. Der Klassenpfad des Bootprogramms ist entweder der Standardpfad oder der über die Option -Xbootclasspath: definierte Pfad.


    Angeben der Garbage Collection-Richtlinie

    Die JVM-Laufzeitoption -Xgcpolicy gibt die Garbage Collection-Richtlinie an.

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

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

    -Xgcpolicy:optthruput

    und

    -Xgcpolicy:optavgpause

    Pausezeit

    Wenn eine Anwendung wegen des verfügbaren Freispeichers nicht sofort ein Objekt erstellen kann, ist die Garbage Collection für die Erkennung von Objekten ohne Verweis (Garbage) zuständig sowie 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 Pausezeit 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 mehreren Sekunden dauern, je nachdem, wie groß der Freispeicher und das Garbagevolumen ist.

    Verringerung der Pausezeit

    Die Option 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 diese Option besonders wichtig. Die Pausezeiten werden dadurch verringert, dass einige Garbage Collection-Aktivitäten gleichzeitig mit der normalen Programmausführung ausgeführt werden. Außer der Pausezeit wird je nach Anwendung möglicherweise auch der Anwendungsdurchsatz verringert.

    Umgebungen mit sehr vollen Freispeichern

    Wenn der Java-Freispeicher nahezu voll ist und wenn sehr wenig zurückzufordernder Garbagespeicher 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 wegen ungenügender Speicherkapazität und 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

    Detaillierte Informationen zu Garbage Collection finden Sie unter folgenden Adressen:

    http://www.ibm.com/developerworks/ibm/library/i-garbage1/

    http://www.ibm.com/developerworks/ibm/library/i-garbage2/

    http://www.ibm.com/developerworks/ibm/library/i-garbage3/

    |Weitere Informationen zum Speicherverlust in Java-Anwendungen finden |Sie unter folgender Adresse: http://www.ibm.com/developerworks/library/j-leaks/index.html.


    Abrufen der IBM Build- und Versionsnummer

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

    java -version


    Verwenden des Java-Plug-ins

    Das Java-Plug-in wird von Sun auf folgender Website dokumentiert: http://java.sun.com/j2se/1.4.1/docs/guide/plugin/developer_guide/.

    Das Java-Plug-in unterstützt die Druckfunktion in diesem SDK-Release nicht.


    Installieren und Konfigurieren des Java-Plug-ins

    Beim Java-Plug-in handelt es sich um ein Webbrowser-Plug-in. Wenn Sie das Java-Plug-in verwenden, können Sie zum Ausführen von Applets oder Beans im Browser die Standard-JVM des Webbrowsers umgehen und stattdessen Java Runtime Environment (JRE) verwenden.

    Gehen Sie wie folgt vor, um das Java-Plug-in zu installieren und zu konfigurieren:

    Installieren des Java-Plug-ins für Mozilla

    |Stellen Sie zum Installieren und Konfigurieren des Java-Plug-ins für |Netscape 6 oder Mozilla eine symbolische Verbindung von der Bibliotheksdatei |/opt/IBMJava2-141/jre/bin/libjavaplugin_oji.so mit dem Verzeichnis |plugins des Browsers |(/Installationspfad_des_Browsers/plugins) her.

    Gehen Sie wie folgt vor, wenn das Java-Plug-in für alle Benutzer verfügbar sein soll:

    1. Melden Sie sich mit der Benutzer-ID root an.
    2. Fügen Sie im Mozilla-Plug-in-Verzeichnis (normalerweise /usr/local/mozilla/plugins/, bei einigen Distributionen kann es jedoch anders lauten) eine symbolische Verbindung zu der Bibliotheksdatei /opt/IBMJava2-141//jre/bin/libjavaplugin_oji.so ein.
      ln -s /opt/IBMJava2-141/jre/bin/libjavaplugin_oji.so \
      /usr/local/mozilla/plugins/
      
    Anmerkung:
    Die Datei libjavaplugin_oji.so sollte symbolisch verbunden und nicht kopiert werden, da sie andernfalls nicht die Position der JVM feststellen kann.

    Unterstützte Browser


    Tabelle 2. Vom Java Plug-in unterstützte Browser

    Distribution Netscape-Standardversionen Von Netscape unterstützte Versionen Mozilla-Standardversionen Von Mozilla unterstützte Versionen
    Red Hat 7.3 4.79 4.79 0.9.9 0.9.9
    Red Hat Advanced Server 4.78 4.78 0.9.9 0.9.9
    SuSE 8.0

    0.9.8 0.9.8
    SuSE SLES 7 4.77 4.77

    TurboLinux 7 Server

    0.94 0.94

    Verwenden von DBCS-Parametern

    Das Java-Plug-in unterstützt Doppelbytezeichen (z. B. Traditionelles Chinesisch BIG-5, Koreanisch, Japanisch) als Parameter für die Befehle <APPLET>,<OBJECT> und <EMBED>. Sie müssen die richtige Zeichencodierung für das HTML-Dokument auswählen, damit das Java-Plug-in den Parameter syntaktisch analysieren kann. Geben Sie die Zeichencodierung für das HTML-Dokument mit Hilfe des Tags <META> im Abschnitt <HEAD> wie folgt an:

    <meta http-equiv="Content-Type" content="text/html; charset=big5">
    

    In diesem Beispiel wird dem Browser mitgeteilt, dass er die HTML-Datei mit Hilfe der Zeichencodierung für Chinesisch BIG-5 syntaktisch analysieren soll. Alle Parameter werden ordnungsgemäß an das Java-Plug-in weitergeleitet. Einige der älteren Browserversionen erkennen diesen Tag möglicherweise nicht richtig. In diesem Fall können Sie erzwingen, dass der Browser diesen Tag ignoriert. Sie müssen die Codierung jedoch möglicherweise manuell ändern.

    Sie können angeben, welche Codierung Sie verwenden möchten, um die HTML-Datei syntaktisch zu analysieren:


    Verwenden von 'Web Start'

    Mit Hilfe von Java Web Start können Anwendungen implementiert werden, die auf der Java-Technologie basieren. Mit Java Web Start wird der Computer mit dem Internet verbunden, und der Benutzer kann Anwendungen direkt über das Web starten und verwalten. Mit Java Web Start können Anwendungen per Mausklick aktiviert werden. Außerdem wird mit Hilfe von Java Web Start sichergestellt, dass Sie immer die aktuelle Version ausführen, ohne dass Installations- oder Upgradeprozeduren erforderlich sind. Bei der Weitergabe von Software über das Web müssen Sie häufig das Installationsprogramm im Web suchen, herunterladen, auf dem Rechner erneut suchen und ausführen. Nachdem das Installationsprogramm ausgeführt wurde, werden Sie aufgefordert, Installationsverzeichnisse und Installationsoptionen anzugeben, wie beispielsweise "Vollständig", "Standard" oder "Minimal". Dies kann eine zeitaufwendige und komplizierte Task sein, die bei der Installation jeder neuen Version der Software wiederholt werden muss.

    Im Gegensatz dazu können webimplementierte Anwendungen, wie beispielsweise der HTML-basierte E-Mail-Client und Kalender, umgehend installiert und verwendet werden. Der Webbrowser hat den Prozess automatisiert. Es sind keine komplizierten Schritte zum Herunterladen, Installieren und Konfigurieren erforderlich, und Sie können sichergehen, dass die aktuelle Version ausgeführt wird. Java Web Start bietet Anwendungen mit vollem Funktionsumfang dieselben Vorteile.

    Weitere Informationen zu Browsern, die Web Start unterstützen, finden Sie im Abschnitt Unterstützte Browser.

    Weitere Informationen zu Web Start finden Sie unter der folgenden Adresse: http://java.sun.com/products/javawebstart. Weiteres Dokumentationsmaterial finden Sie unter http://java.sun.com/j2se/1.4.1/docs/guide/jws/index.html.


    Installieren von Web Start

    Das Web Start-Installationsscript wird zusammen mit der JRE für Java 1.4.1 installiert.

    Das Script hat den Namen jre/bin/webstart_install_sdk.sh. Wenn Sie mit Web Start arbeiten möchten, müssen Sie das Script ausführen. Legen Sie als aktuelles Arbeitsverzeichnis das Verzeichnis fest, in dem Sie Web Start installieren möchten. Während des Installationsprozesses wird im aktuellen Arbeitsverzeichnis ein Unterverzeichnis mit dem Namen javaws erstellt.

    Außerdem werden während des Installationsprozesses die von Netscape und anderen Browsern verwendeten MIME-Typen aktualisiert.

    Sie können Web Start auf folgende Arten aufrufen:

    1. Wählen Sie auf einer Webseite einen Link aus, der auf eine Datei mit der Erweiterung .jnlp verweist.
    2. Starten Sie javaws im oben erstellten Verzeichnis javaws. Daraufhin wird der Web Start-Dialog aufgerufen, aus dem Anwendungen ausgewählt werden können.
    3. Geben Sie in einem Shell-Script javaws <URL> ein, wobei <URL> die Position einer JNLP-Datei ist.

    Beide Aktionen führt dazu, dass Web Start die ausgewählte Anwendung startet. Wenn die Anwendung zum ersten Mal verwendet wird, wird sie heruntergeladen. Bei nachfolgenden Aufrufen wird die ursprüngliche Website auf verfügbare Aktualisierungen überprüft. Web Start lädt diese Aktualisierungen herunter, bevor die Anwendung gestartet wird.

    Wenn eine JNLP-Datei einen Fehler enthält (z. B. einen ungültigen Befehlsnamen), bricht Web Start ohne Anzeige einer Fehlernachricht ab.


    Verwenden der Funktion 'floating stacks'

    Bei bestimmten Linux-Varianten, z. B. bei Red Hat, ist die GLIBC-Funktion mit dem Namen "floating stacks" aktiviert. Auf Grund von Einschränkungen des Linux-Kernels kann JVM auf SMP-Hardware mit aktivierter Funktion "floating stacks" nicht ausgeführt werden, sofern der Kernel-Level unter 2.4.10 ist. In dieser Umgebung muss die Funktion "floating stacks" inaktiviert werden, bevor JVM oder eine beliebige Anwendung, die JVM startet, gestartet wird. Verwenden Sie unter Red Hat den folgenden Befehl, um die Funktion "floating stacks" zu inaktivieren, indem Sie eine Umgebungsvariable wie folgt exportieren:

    export LD_ASSUME_KERNEL=2.2.5
    

    Auf einem Linux-System ohne aktivierter 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 aktivierter Funktion "floating stacks" migrieren, müssen alle Werte für -Xss groß genug sein, und es darf kein Minimum von 256 KB erforderlich sein.


    Ändern der Eingabemethode in DBCS-Sprachen

    Wenn Sie die Eingabemethode ändern möchten, sollten Sie auf DBCS-Systemen (Double-Byte Character Set, Doppelbytezeichensatz) die Klasse java.util.prefs.Preferences und nicht die Umgebungsvariablen IBMJAVA_INPUTMETHOD_SWITCHKEY und IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS verwenden. Weitere Informationen hierzu finden Sie im Handbuch Input Method Framework Specification von Sun.


    Beispiel für Laufzeit-Software

    Auf der Website von Sun, http://java.sun.com, finden Sie ein Beispiel "Hello World", das Sie herunterladen können. Dieses Beispiel zeigt, wie Sie eine einfache Java-Anwendung erstellen können, die mit Runtime Environment ausgeführt wird.


    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 dadurch 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.


    Bekannte Einschränkungen

    In den folgenden Abschnitten werden bekannte Einschränkungen von SDK for Linux erläutert.

    Die folgenden Einschränkungen gelten nur für Benutzer der Version in traditionellem Chinesisch.


    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 Komponenten 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:

    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 von Sun Microsystems, Inc.

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

    Dieses Produkt enthält Software, die von der Apache Software Foundation (http://www.apache.org/) entwickelt wurde.