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 Developer Kit for Windows, Java 2 Technology Edition, Version 1.3.1, 32-Bit-Version, und für alle nachfolgenden Releases und Änderungen bis zur Herausgabe neuer Dateiversionen.
(c) Copyright Sun Microsystems, Inc. 1997, 2001, 901 San Antonio Rd., Palo Alto, CA 94303 USA. Alle Rechte vorbehalten.
(c) Copyright International Business Machines Corporation, 1999, 2002. All rights reserved.
(c) Copyright IBM Deutschland GmbH 1999, 2002. Alle Rechte vorbehalten.
Diese Readme-Datei enthält Informationen zu dem Runtime Environment-Paket, das mit IBM(R) Developer Kit for Windows(R), Java(TM) 2 Technology Edition, Version 1.3.1, 32-Bit-Version, bereitgestellt wird. Verwenden Sie diese Readme-Datei, wenn Sie Runtime Environment mit dem Produkt verteilen möchten.
Runtime Environment wird unter den folgenden Produkten unterstützt:
Runtime Environment umfasst Java Virtual Machine (JVM), Java-Klassen von Sun Microsystems und Unterstützungsdateien. Runtime Environment enthält nicht alle Klassen des Developer Kit-Pakets.
Runtime Environment umfasst DLL-Dateien und Klassen, die ein Java-Programm zur Laufzeit unterstützen. Runtime Environment umfasst keines der Entwicklungstools, wie 'appletviewer' oder 'javac', und auch keine Klassen, die nur zu einem Entwicklungssystem gehören.
Weitere Informationen zu Dateien, die mit Java-Programmen erneut verteilt werden müssen, finden Sie im Abschnitt Voraussetzungen für die erneute Verteilung.
Der JIT-Compiler generiert während der Ausführung für häufig verwendete Bytecodesequenzen in einer Java-Anwendung oder in einem Java-Applet dynamisch Maschinencode. Der JIT-Compiler (jitc.dll) wird standardmäßig aktiviert.
Sie können den JIT-Compiler inaktivieren, um mögliche Probleme mit einer Java-Anwendung, einem Java-Applet oder dem Compiler selbst einzugrenzen.
Zum Inaktivieren des JIT-Compilers verfügen Sie über zwei Möglichkeiten:
set JAVA_COMPILER=NONE
Unter Windows NT, Windows 2000 und Windows XP können Sie außerdem die Variable JAVA_COMPILER dauerhaft in den Umgebungseinstellungen der Systemmerkmale setzen. Unter Windows NT müssen Sie dazu in der Systemsteuerung die Option System und schließend die Indexzunge Umgebung auswählen. Unter Windows 2000 und Windows XP wählen Sie Systemsteuerung und die Option System aus und wählen auf der Registerkarte Erweitert die Option Umgebungsvariablen aus.
java -Djava.compiler=NONE myapp
Geben Sie Folgendes an der Eingabeaufforderung ein, um den JIT-Compiler zu aktivieren:
set JAVA_COMPILER=jitc
Wenn Sie prüfen wollen, ob der JIT-Compiler aktiviert ist, geben Sie folgenden Befehl an der 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
Geben Sie den folgenden Befehl an einer Eingabeaufforderung ein, um die IBM Build-Nummer und die Versionsnummer abzurufen:
java -version
Geben an einer Eingabeaufforderung Folgendes ein, um eine Java-Anwendung auszuführen:
java klassenname
Hier steht klassenname
für den Namen der Java-Klassendatei (Java-Anwendung), die Sie ausführen möchten. Weitere Informationen zu Parametern, die Sie beim Aufruf des Tools java verwenden können, finden Sie im Abschnitt Java Runtime Interpreter.
Anmerkung: Wenn Sie Runtime Environment nicht als System-JVM installiert haben, müssen Sie zuerst die entspechenden Verzeichnisse in den Pfad einfügen. Geben Sie an einer Eingabeaufforderung Folgendes ein, um den Pfad zu aktualisieren:
set path=javaverz\jre\bin;%path%
Hier steht javaverz
für das Verzeichnis, in dem das
Runtime Environment-Paket installiert ist. Der Standardwert für dieses Verzeichnis lautet
Wenn Sie Runtime Environment erneut verteilen, müssen Sie Dateien aus dem folgenden Paket berücksichtigen:
Weitere Informationen zu den Dateien, die erneut verteilt werden müssen, finden Sie in der Lizenzvereinbarung, die im Lieferumfang dieses Produkts enthalten ist.
Erforderlich bedeutet, dass Lizenznehmer, die Runtime Environment erneut verteilen, die betreffenden Dateien in das Programm einbinden müssen, unabhängig davon, ob das Programm diese Dateien verwendet.
Runtime Environment umfasst die Verzeichnisse \bin und \lib sowie deren Unterverzeichnisse. Diese zwei Verzeichnisse und deren Unterverzeichnisse müssen sich im selben Verzeichnis befinden. Das Verzeichnis bin enthält ausführbare Dateien und native Bibliotheken. Das Verzeichnis lib enthält die Klassen und Merkmaldateien.
Alle Dateien in den Verzeichnissen bin und lib sind für die erneute Verteilung erforderlich.
Anmerkung: Die Laufzeitbibliothek mit nativem C-Code, msvcrt.dll, befindet sich im Windows-Systemverzeichnis. Stellen Sie sicher, dass diese Datei sich im Windows-Systemverzeichnis befindet. Die Position dieses Verzeichnisses variiert je nach Betriebssystem. Normalerweise befindet sich das Verzeichnis an folgenden Positionen:
Das Tool java ruft zur Ausführung von Java-Anwendungen Java Runtime Interpreter auf. Die Syntax zum Start des Tools java lautet wie folgt:
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.
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.
Als Alternative zum Tool java ist javaw verfügbar. Das Tool javaw ist identisch mit dem Tool java, ruft jedoch kein Konsolfenster auf. Die Syntax zum Start des Tools javaw lautet wie folgt:
javaw [optionen] klassenname <args>
Das Java-Tool hat folgende Optionen:
Die -X-Optionen weichen vom Standard ab und können jederzeit geändert werden.
Die Sun-Website enthält das Beispielprogramm "Hello World". Dieses Beispiel zeigt, wie Sie eine einfache Java-Anwendung erstellen können, die mit Runtime Environment ausgeführt wird und damit gebündelt ist. Die Sun-Website finden Sie unter der Adresse http://java.sun.com, und das Beispielprogramm "Hello World" können Sie finden, indem Sie nach "Hello World" und nach "Notes for Developers" suchen.
Das Beispiel zeigt, wie Sie einen einfachen und nahtlosen Übergang von der Entwicklung einer Anwendung mit einem Developer Kit zum Einsatz der Anwendung mit dem weniger aufwendigen Runtime Environment erreichen.
In dem Produkt müssen Sie Möglichkeiten für folgende Aufgaben bereitstellen:
Wenn Sie Runtime Environment erneut verteilen, müssen Sie sicherstellen, dass Ihr Installationsverfahren keine vorhandene Installation überschreibt (es sei denn, die vorhandene Version von Java Runtime Environment ist eine ältere Version).
Sie verwenden am besten die Dateien in der ZIP-Datei ibm-jre-n131p-win32-x86.zip mit dem erneut verteilbaren Runtime Environment und installieren diese mit derselben Verzeichnisstruktur. Sie müssen alle Dateien in den Verzeichnissen bin und lib sowie in deren Unterverzeichnissen installieren. Diese Verzeichnisse werden im Abschnitt Voraussetzungen für die erneute Verteilung beschrieben. Die Software von Runtime Environment kann nur erneut verteilt werden, wenn all diese Dateien enthalten sind. Wenn Sie die Anwendung verteilt haben, verfügt diese über eine eigene Kopie von Runtime Environment.
Versuchen Sie bei diesem Ansatz nicht, die Installationsschritte zu emulieren, die vom Installationsprogramm für Runtime Environment ausgeführt werden.
Anmerkung: Wenn Sie Runtime Environment installieren, müssen Sie in der Registrierungsdatenbank von Windows die Programmdaten wie folgt aufzeichnen:
Java2 Runtime Environment/1.3.1/JavaHome | Stammverzeichnis von Java\jre |
Java2 Runtime Environment/1.3.1/JavaRuntimeLib | Stammverzeichnis von Java\jre\bin\classic\jvm.dll |
Java2 Runtime Environment/1.3.1/Microversion | 0 |
Java Plug-in/1.3.1/JavaHome | Stammverzeichnis von Java\jre |
Java Plug-in/1.3.1/JavaRuntimeLib | Stammverzeichnis von Java\jre\bin\classic\jvm.dll |
Schlüsselname | Schlüsselwert |
Lucida Sans Typewriter Regular (TrueType) | LucidaTypewriterRegular.ttf |
Lucida Bright Demibold Italic (TrueType) | LucidaBrightDemiItalic.ttf |
Lucida Bright Italic (TrueType) | LucidaBrightItalic.ttf |
Lucida Bright Regular (TrueType) | LucidaBrightRegular.ttf |
Lucida Sans Demibold (TrueType) | LucidaSansDemiBold.ttf |
Lucida Sans Demibold Oblique (TrueType) | LucidaSansDemiOblique.ttf |
Lucida Sans Oblique (TrueType) | LucidaSansOblique.ttf |
Lucida Sans Regular (TrueType) | LucidaSansRegular.ttf |
Lucida Sans Typewriter Bold (TrueType) | LucidaTypewriterBold.ttf |
Lucida Sans Typewriter Bold Oblique (TrueType) | LucidaTypewriterBoldOblique.ttf |
Lucida Sans Typewriter Oblique (TrueType) | LucidaTypewriterOblique.ttf |
Lucida Bright Demibold (TrueType) | LucidaBrightDemiBold.ttf |
Beispiel des vollständigen Pfads für einen Schlüsselwert:
Zur Angabe der Garbage Collection-Richtline ist in Developer Kit die JVM-Laufzeitoption -Xgcpolicy enthalten.
-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:optthruputund
-Xgcpolicy:optavgpause
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.
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.
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 zur Optimierung der Freispeichergröße und zu den Auswirkungen der Garbage Collection auf die Anwendungsleistung finden Sie auf den folgenden Webseiten:
Sun stellt das Produkt Java Access Bridge bereit, mit dem native Windows-Zusatztechnologien, z. B. Sprachausgabesysteme (Screen Reader), auf die Java Accessibility-Unterstützung in einer Java-Anwendung zugreifen können. Diese nativen Windows-Zusatztechnologien müssen so geschrieben werden, dass sie Aufrufe an Java Access Bridge senden.
Java Access Bridge ist bei Sun erhältlich und umfasst ein Installationsprogramm, das die folgenden fünf Dateien in die richtigen Verzeichnisse kopiert: access-bridge.jar, jaccess.jar, accessibility.properties, JavaAccessBridge.dll und WindowsAccessBridge.dll.
Wenn Sie bereits IBM Accessibility Bridge (JawBridge) installiert haben, kann Windows 2000 Magnifier mit Swing-Anwendungen eingesetzt werden. Wenn nun IBM Accessibility Bridge gleichzeitig als Java Access Bridge ausgeführt werden soll, editieren Sie die entsprechende Zeile in der Datei accessibility.properties wie folgt:
#
an den Zeilenanfang setzen, damit beide Bridges inaktiviert werden.
Auf der folgenden Website finden Sie Informationen zum Download von Java Access Bridge:
Jede Merkmaldatei enthält Kommentare, die beschreiben, wozu die Datei dient und wie sie geändert werden kann.
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:
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.
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.
Microsoft, Windows, Windows NT und das Windows-Logo sind in gewissen Ländern Marken der Microsoft Corporation.
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.