注: 本書の情報およびこの情報がサポートするプロダクトをご使用になる前に、特記事項の情報をお読みください。
本書の内容は、新版で特に指定がない限り、IBM Developer Kit for Windows、Java 2 Technology Edition, Version 1.3.1, 32-bit version とそれ以降のすべてのリリースおよびモディフィケーションに適用されます。
(C) Copyright Sun Microsystems, Inc. 1997, 2001, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.
(C) Copyright International Business Machines Corporation, 1999, 2002. All rights reserved.
(C) Copyright IBM Japan 2002
本書の内容には日本では発表されていない IBM 製品 (機械およびプログラム)、プログラミングまたはサービスについての参照または情報が含まれている場合があります。しかし、このことは、これらの未発表製品、プログラミングまたはサービスを、将来において IBM が日本国内で提供する意向があることを意味するものではありません。
この README ファイルは、IBM(R) Developer Kit for Windows(R)、Java(TM) 2 Technology Edition, Version 1.3.1, 32-bit version に付属しているRuntime Environment パッケージに関して解説しています。プロダクトと一緒に Runtime Environment を配布する場合は、この README をご使用ください。
Runtime Environment は、以下のプロダクトでサポートされています。
Runtime Environment には、Java 仮想マシン (JVM)、Sun Microsystems Java クラス、およびそれをサポートするファイルが含まれています。 Runtime Environment には、Developer Kit パッケージにあるすべてのクラスは含まれていません。
Runtime Environment には、.dll ファイルと、ランタイム時に Java プログラムをサポートするクラスが含まれています。 Runtime Environment には、appletviewer や javac などの開発ツール、または開発システムだけに関連するクラスは含まれていません。
Java プログラムと一緒に再配布する必要のあるファイルについては、再配布要件を参照してください。
JIT コンパイラーは、Java アプリケーションやアプレットの実行中に頻繁に使用されるバイトコード・シーケンス用のマシン・コードを動的に生成します。JIT コンパイラー (jitc.dll) は、デフォルトで使用可能になっています。
Java アプリケーション、アプレット、またはコンパイラー自体の問題を突きとめるために、JIT を使用不可にすることができます。
JIT を使用不可にするには、2 つの方法があります。
set JAVA_COMPILER=NONE
Windows NT、Windows 2000、および Windows XP では、システム・プロパティーの環境設定から JAVA_COMPILER を永続的に設定することもできます。(Windows NT の場合は、コントロール・パネルから「システム」を選択し、次に「環境」を選択します。Windows 2000 と Windows XP の場合は、コントロール・パネルから「システム」を選択し、「詳細」タブから「環境変数」を選択します)。
java -Djava.compiler=NONE myapp
JIT を使用可能にするには、コマンド・プロンプトに以下のコマンドを入力してください。
set JAVA_COMPILER=jitc
JIT が使用可能かどうかを調べるには、コマンド・プロンプトに以下のコマンドを入力してください。
java -version
JIT が使用可能になっていれば、以下のメッセージを含むメッセージが表示されます。
JIT enabled: jitc
JIT が使用不可になっていれば、以下のメッセージが表示されます。
JIT disabled
IBM ビルド番号とバージョン番号を確認するには、コマンド・プロンプトに以下のように入力してください。
java -version
Java アプリケーションを実行するには、コマンド・プロンプトに以下のコマンドを入力してください。
java classname
classname
は、実行する Java クラス・ファイル (Java アプリケーション) の名前です。Java ツールを起動するときに使用できるパラメーターについては、Java Runtime Interpreter を参照してください。
注: ランタイム環境をシステム JVM としてインストールしていない場合、 該当するディレクトリーが入るようにパスを設定する必要があります。 パスを更新するには、コマンド・プロンプトに以下のコマンドを入力してください。
set path=javadir\jre\bin;%path%
この場合、javadir
は Runtime Environment パッケージがインストールされているディレクトリーです。デフォルトでは、このディレクトリーは
Runtime Environment を再配布する場合は、以下のパッケージのファイルを含める必要があります。
再配布する必要があるファイルに関する特定の情報については、製品に同梱されているご使用条件を参照してください。
この場合の 必要がある という用語は、Runtime を配布するライセンス所有者が、自分のプログラムがこれらのファイルを使用するかしないかに関係なく、自分のプログラムにこれらのファイルを含める必要があるということを意味しています。
Runtime Environment には、\bin および \lib ディレクトリーとそのサブディレクトリーが組み込まれています。これらの 2 つのディレクトリーとそのサブディレクトリーは、同一ディレクトリーにある必要があります。bin ディレクトリーには、実行可能ファイルとネイティブ・ライブラリーが含まれています。lib ディレクトリーには、クラスとプロパティー・ファイルが含まれています。
bin および lib ディレクトリーにあるすべてのファイルは、再配布に必須です。
注: ネイティブ・コード C ランタイム・ライブラリーの msvcrt.dll は、Windows システム・ディレクトリーにあります。このファイルが、ご使用の Windows システム・ディレクトリーにあることを確認してください。このディレクトリーの場所は、使用するオペレーティング・システムによって異なりますが、通常は以下の通りです。
java ツールは、Java アプリケーションを実行するために Java Runtime Interpreter を起動します。java ツールを開始するための構文は、以下の通りです。
java [-options] classname <args>
引き数 classname
は、実行しようとするクラスの名前です。そのクラスに渡す引き数は、コマンド行の classname の後に指定してください。
java -jar [-options] jarfile <args>
引き数 jarfile
は、実行しようとする jar ファイルの名前です。jar ファイルに渡す引き数は、コマンド行で jarfile の後に指定します。
この java ツールの代替として、javaw があります。 javaw ツールは、コンソール・ウィンドウを呼び出さない点を除き、java ツールと同一です。javaw ツールを開始するための構文は、以下の通りです。
javaw [options] classname <args>
Java ツールのオプション (上記の [-options]) は次のとおりです。
-X オプションは非標準オプションであり、予告なく変更されることがあります。
Sun の Web ページには、"Hello World" の例が含まれています。この例は、Java Runtime Environment で実行され、それに組み込まれる単純な Java アプリケーションの作成方法を示します。Sun の Web サイトは、http://java.sun.com で、"Hello World" の例を見つけるには、"Hello World" と "Notes for Developers" で検索してください。
この例は、Developer Kit を使ったアプリケーションの開発から、Runtime Environment での展開への、単純でシームレスな推移を示します。
プロダクトでは、以下のことを行う方法を提供する必要があります。
Runtime Environment を再配布する場合、インストール手順で既存のインストール・プロダクトを上書きしないように気を付けてください (既存の Java Runtime Environment が古いバージョンでない限り)。
できれば、再配布可能な Runtime Environment zip ファイル、ibm-jre-n131p-win32-x86.zip に入ったファイルを取り出して、それを同じディレクトリー構造にインストールしてください。必ず、bin と lib ディレクトリーとそのサブディレクトリーに入ったすべてのファイルを組み込んでください。 これらのディレクトリーについては、再配布要件に説明があります。 Runtime Environment ソフトウェアは、すべてのファイルが組み込まれている場合にのみ再配布することができます。要するに、アプリケーションを出荷する際は、そのアプリケーション自身の Runtime Environment のコピーが含まれることになります。
この方法を使用する場合は、Runtime Environment インストーラーによって実行されるインストール・ステップをエミュレートしないようにしてください。
注: Runtime Environment をインストールする場合は、以下のようにしてプログラム情報を Windows レジストリーに記録する必要があります。
Java2 Runtime Environment/1.3.1/JavaHome | root dir of java\jre |
Java2 Runtime Environment/1.3.1/JavaRuntimeLib | root dir of java\jre\bin\classic\jvm.dll |
Java2 Runtime Environment/1.3.1/Microversion | 0 |
Java Plug-in/1.3.1/JavaHome | root dir of java\jre |
Java Plug-in/1.3.1/JavaRuntimeLib | root dir of java\jre\bin\classic\jvm.dll |
キー名 | キー値 |
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 |
キー値の絶対パスの例:
この Developer Kit では、ガーベッジ・コレクション方針を指定するための -Xgcpolicy JVM runtime オプションが導入されました。
-Xgcpolicy に指定できるのは、optthruput (デフォルト) と optavgpause の 2 つの値です。このオプションは、アプリケーションおよびシステム全体のスループットとガーベッジ・コレクションに起因する休止時間とをトレードオフし、ガーベッジ・コレクションを制御します。
このオプションの形式と値は次の通りです。
-Xgcpolicy:optthruputおよび
-Xgcpolicy:optavgpause
アプリケーションがオブジェクトを作成しようとしてその要求がヒープ内の使用可能スペースからすぐに満たされないとき、ガーベッジ・コレクターは、参照されていないオブジェクト (ガーベッジ) を識別してそれらを削除し、ヒープの状態を即時および後続の割り振り要求にすぐに応じられるような状態に戻す責任があります。そのようなガーベッジ・コレクションのサイクルによって、アプリケーション・コードの実行において予期しない休止が時々起こることになります。アプリケーションは大きく複雑になってきており、ヒープもそれに応じて大規模になっているので、このガーベッジ・コレクション休止時間は長さも重要度も増す傾向にあります。デフォルトのガーベッジ・コレクション値である optthruput は、これら時々の休止 (ヒープのサイズとガーベッジの質によって数ミリ秒からかなりの秒数まであり得る) を犠牲にして、非常に高いスループットをアプリケーションにもたらします。
optavgpause 値は、これらのガーベッジ・コレクション休止に費やされる時間を大幅に削減し、ヒープ・サイズの増加がガーベッジ・コレクション休止の長さに与える影響を制限します。これは特に大規模ヒープを伴う構成に関係があります。(ヒープは少なくとも 1 GB ある場合に大規模と考えてください。) ガーベッジ・コレクションと通常のプログラム実行を並行させれば、休止時間は削減されます。この並行の結果、アプリケーションのスループットが少し減少します。
Java ヒープが満杯に近く、再利用できるガーベッジが少ししかない場合、新規オブジェクト用の要求がすぐには満たされないことがあります。すぐに使用可能なスペースがないためです。ヒープが容量いっぱいに近い状態で操作されている場合、上記オプションのどちらが使用されているのかには関係なく、アプリケーション・パフォーマンスは悪くなります。 また、さらにヒープ・スペースへの要求が続けば、アプリケーションはメモリー不足例外を受け取り、その例外がキャッチされ処理されなければ、JVM は終了します。このような状態の場合、-Xmx オプションを使用してヒープ・サイズを増やすか、使用中のアプリケーション・オブジェクトの数を減らすことをお勧めします。
ヒープ・サイズの調整とアプリケーション・パフォーマンスのためのガーベッジ・コレクションの考慮点については、以下を参照してください。
Sun では、スクリーン・リーダー、Java アプリケーションにおける Java アクセシビリティー・サポートへのアクセスなど、ネイティブ Windows 援助テクノロジーを使用するための、Java Access Bridge を提供しています。これらの Windows 援助テクノロジーは、Java Access Bridge を呼び出すように作成されている必要があります。
Sun から入手できる Java Access Bridge には、次の 5 つのファイルを正しいディレクトリーに配置するインストーラーが組み込まれています。access-bridge.jar、jaccess.jar、accessibility.properties、JavaAccessBridge.dll、および WindowsAccessBridge.dll。
Windows 2000 Magnifier を Swing アプリケーションと一緒に機能できるようにする、IBM Accessibility Bridge (JawBridge) をすでにインストールしており、それを Java Access Bridge と同時に実行したい場合は、accessibility.properties ファイルの中の行を、以下のように編集してください。
#
を追加してコメント化してください。
この Web サイトには、Java Access Bridge のダウンロード方法が書かれています。
各プロパティー・ファイルには、そのファイルの用途と変更方法を記述したコメントが入っています。
本書は米国 IBM が提供する製品およびサービスについて作成したものであり、本書に記載の製品、サービス、 または機能が日本においては提供されていない場合があります。日本で利用可能な製品、プログラム、またはサービスについては、日本 IBM の営業担当員にお尋ねください。本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、またはサービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、 機能的に同等の製品、プログラム、またはサービスを使用することができます。ただし、IBM 以外の製品、プログラムまたはサービスの 操作性の評価および検証は、 お客様の責任で行っていただきます。
IBM は、本書に記載されている内容に関して特許権(特許出願中のものを含む。) を保有している場合があります。本書の提供は、お客様にこれらの特許権について実施権を許諾することを意味するものではありません。実施権の許諾については、下記の宛先に書面にてご照会ください。
以下の保証は、国または地域の法律に沿わない場合は、適用されません。
IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、 商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。 国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。本書は定期的に見直され、必要な変更 (たとえば、技術的に不適確な記述や誤植など) は、本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあります。本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものではありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それらの Web サイトは、お客様の責任でご使用ください。
IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。
本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラム (本プログラムを含む) との間での情報交換、および (ii) 交換された情報の相互利用を可能にすることを目的として、 本プログラムに関する情報を必要とする方は、下記に連絡してください。
本プログラムに関する上記の情報は、適切な使用条件の下で使用することができますが、有償の場合もあります。
本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、IBM より提供されます。この文書に含まれるいかなるパフォーマンス・データも、 管理環境下で決定されたものです。そのため、他の操作環境で得られた結果は、異なる可能性があります。一部の測定が、開発レベルのシステムで行われた可能性がありますが、 その測定値が、一般に利用可能なシステムのものと同じである保証はありません。 さらに、一部の測定値が、推定値である可能性があります。実際の結果は、異なる可能性があります。 お客様は、お客様の特定の環境に適したデータを確かめる必要があります。
IBM 以外の製品に関する情報は、その製品の供給者、出版物、 もしくはその他の公に利用可能なソースから入手してください。 IBM は、それらの製品のテストは行っておりません。したがって、 他社製品に関する実行性、互換性、またはその他の要求については確証できません。IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。
IBM は、IBM Corporation の商標です。
Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
Microsoft、Windows、Windows NT および Windows ロゴは、Microsoft Corporation の米国およびその他の国における商標です。
他の会社名、製品名およびサービス名などはそれぞれ各社の商標または登録商標です。