IBM(R) Runtime Environment for Linux, Java(TM) 2 Technology Edition, Version 1.3.1, 32-bit version
- README -


注: 本書の情報およびこの情報がサポートするプロダクトをご使用になる前に特記事項に記載されている情報をお読みください。

本書の内容は、新版で特に指定がない限り、IBM Runtime Environment for Linux, 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 Linux, Java(TM) 2 Technology Edition, Version 1.3.1, 32-bit version (Developer Kit for Linux) に付属している Runtime Environment for Linux に関して解説しています。

Runtime Environment で行うことができるのは、Java アプリケーションの実行だけです。Java アプリケーションを作成して実行したい場合には、Developer Kit for Linux をインストールする必要があります。Developer Kit for Linux をインストール済みであれば、Developer Kit のサブセットである Runtime Environment は必要ありません。

Developer Kit for Linux をテスト済みのディストリビューションについては、以下を参照してください。
http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html


目次

  • 概要
  • Runtime Environment for Linux に付属しているファイル
  • ご使用条件
  • just-in-time (JIT) コンパイラー
  • Native Method Interface および Java Native Interface
  • Runtime Environment for Linux の構成
  • Java Plug-in のインストールと構成
  • 追加フォントのインストール
  • Red Hat へのインストール
  • BEA Weblogic を使用する場合のインストール
  • Runtime Environment for Linux のアンインストール
  • RPM パッケージのアンインストール
  • 圧縮 TAR パッケージのアンインストール
  • Java Runtime Interpreter の起動
  • システム・プロパティー
  • IBM ビルド番号およびバージョン番号の確認
  • 浮動スタックの使用
  • DBCS 言語での入力方式の切り替え
  • デーバナーガリー・フォント
  • 実行例
  • ユーザー・システムへのアプリケーションのインストール
  • ガーベッジ・コレクション方針の指定
  • Runtime Environment for Linux のドキュメント
  • 確認済みの制限事項
  • 日本語ユーザーへの情報
  • 特記事項
  • 商標

  • 概要

    Runtime Environment for Linux には、Java runtime 環境の作成と Java プログラムの実行に必要なクラスのサブセットが用意されています。 また、Java 仮想マシン、Java クラス、およびそれをサポートするファイルも用意されています。 Runtime Environment for Linux には、Java Developer Kit 内にあるクラスのサブセットだけが備えられています。

    Runtime Environment for Linux に付属しているファイル

    Runtime Environment for Linux には、実行時のプログラムのサポート用として、デバッグ用ではない .so ファイルとクラス・ファイルが付属しています。Runtime Environment for Linux には、appletviewer や javac などの開発ツールや、開発システムにのみ関係するようなクラスは含まれていません。

    加えて、Runtime Environment for Linux と一緒に使用できる Java Authentication and Authorization Service (JAAS) および Java Communications アプリケーション・プログラミング・インターフェース (API) パッケージが付属しています。

    ご使用条件

    LICENSE_xx.html ファイルには、Runtime Environment for Linux ソフトウェアのご使用条件が入っています。 (xx は言語の省略形です。)

    このご使用条件を表示または印刷するには、このファイルを Web ブラウザーでオープンしてください。

    just-in-time (JIT) コンパイラー

    just-in-time (JIT) コンパイラー (libjitc.so) は、Java アプリケーションやアプレットの実行中に頻繁に使用されるバイトコード・シーケンスのマシン・コードをダイナミックに生成します。

    Runtime Environment for Linux には JIT コンパイラー (libjitc.so) が付属し、デフォルトでは使用するようになっています。 Java アプリケーション、アプレット、またはコンパイラー自体のいずれに問題があるかを判別するために、JIT を使用しないようにすることができます。 JIT を使用しない場合には、シェル・プロンプトで次のように入力します。

        export JAVA_COMPILER=NONE
    

    JIT を使用するには、シェル・プロンプトで次のように入力します。

        export JAVA_COMPILER=libjitc.so
    

    JIT を使用するかどうかを調べるには、シェル・プロンプトで以下のコマンドを入力します。

    java -version
    

    JIT を使用する場合には、以下のメッセージを含むメッセージが表示されます。

        JIT enabled: jitc
    

    JIT を使用しない場合には、以下のメッセージが表示されます。

        JIT disabled
    

    Native Method Interface および Java Native Interface

    本リリースでは Native Method Interface はサポートされていません。 アプリケーションでこのインターフェースを使用しないでください。

    Runtime Environment には Java Native Interface (JNI) が付属しています。 JNI の使用方法については、以下の Sun の Web サイトを参照してください。

    1. 「Products & APIs」をクリックします。
    2. 「Product Groups」にある「Java 2 Platform, Standard Edition (J2SE)」をクリックします。
    3. 「Current Releases」にある「Java 2 SDK, Standard Edition, v 1.3.1」をクリックします。
    4. 「J2SE 1.3.1 Documentation」にある「browse documentation online」をクリックします。
    5. 「Guide to Features - Java Platform」 の下にある 「Java Native Interface (JNI)」をクリックします。

    Runtime Environment for Linux の構成

    Runtime Environment for Linux のインストールが完了したら、 シェル・スクリプトを編集し、 PATH ステートメントに次のディレクトリーを追加します。

    Runtime Environment for Linux を /opt/IBMJava2-131 以外のディレクトリーにインストールした場合は、上記の /opt/IBMJava2-131 を実際の Runtime Environment for Linux のインストール先ディレクトリーに置き換えてください。

    Java Plug-in のインストールと構成

    Java Plug-in は、 Netscape Communicator for Linux で使用する Web ブラウザー Plug-in です。 Java Plug-in を使用すると、 アプレットや bean を Web ブラウザーで実行する際に、 ブラウザーのデフォルト Java 仮想マシンをう回して、 代わりに Java Runtime Environment (JRE) を使用するようになります。

    Java Plug-in をインストールする方法:

    注: javaplugin.so ファイルから netscape/plugins ディレクトリー にリンクした後に Netscape を最初に起動すると、 Netscape はただちにシャットダウンします。(コマンド行から Netscape を開始した場合、 Bus error メッセージが表示されます。) Netscape は次回からこのエラーを検出しないため、 このメッセージは無視しても差し支えありません。

    追加フォントのインストール

    Java ではすべてのユニコード文字を表示することができますが、Linux のほとんどのバージョンでは、ユーザーに必要な言語のフォントしかインストールされません。 IBM のページからフォントをダウンロードすれば、すべてのユニコード文字セットを表示することができます。 これらのフォントは、データ・サイズが大きく、すべてのユーザーが必要とするわけではないので、Developer Kit for Linux パッケージには付属していません。 IBM では 2 つのユニコード・フォントを提供しており、それぞれは国別にカスタマイズされています。 中国と韓国のユーザーは国別仕様のバージョンのフォントを使用し、その他の国のユーザーは日本語バージョンのフォントを使用する必要があります。

    フォントは http://www.ibm.com/developer/java/ にある developerWorks Web サイトからダウンロードできます。 どのフォントをダウンロードするかを判別するために役立つフォントの説明があります。

    フォントをインストールするには、ファイルを /opt/IBMJava2-ppc-131/jre/lib/fonts ディレクトリーに入れます。

    フォントを分割してダウンロードした場合には、まず各フォントごとにそれぞれの部分を 1 つのファイルに結合します。 これを実行するには、それらの部分が /opt/IBMJava2-ppc-131/jre/lib/fonts ディレクトリーにあることを確認して、cat コマンドを使用します。

    たとえば、Times New Roman WT J フォントを分割してダウンロードした場合、それらを連結するには次のコマンドを入力します。

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

    Red Hat へのインストール

    Red Hat システム上でインストールしている場合、フォント・サーバーが Java TrueType フォントを検出できるように以下を実行してください。

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

    これはインストール時に行う必要があり、このコマンドは root で実行する必要があります。

    BEA Weblogic を使用する場合のインストール

    BEA Weblogic サーバーを使用したい場合、Developer Kit for Linux のパッケージをインストールするときに、オプションの JAAS インストールを選択解除する必要があります。BEA Weblogic サーバーには、それ自身の JAAS インプリメンテーションが含まれています。


    Runtime Environment for Linux のアンインストール

    Runtime Environment for Linux を除去するプロセスは、RPM パッケージと圧縮 TAR パッケージのどちらをインストールしているかによって異なります。 『RPM パッケージのアンインストール』または『圧縮 TAR パッケージのアンインストール』の説明を参照してください。

    RPM パッケージのアンインストール

    RPM パッケージをインストールしていた場合、Runtime Environment for Linux をアンインストールするには、以下の手順に従います。

    1. プロンプトで次のように入力します。
          rpm -qa | grep IBM
      
      パッケージの名前が表示されます。

    2. 次のように入力します。
          rpm -e pkgname
      
      pkgname は、表示されたパッケージの名前です。

    圧縮 TAR パッケージのアンインストール

    圧縮 TAR パッケージをインストールしていた場合に、Runtime Environment for Linux をアンインストールするには、以下の手順で行います。

    1. runtime 環境をインストールしていたディレクトリーから runtime 環境ファイルを除去します。
    2. PATH ステートメントから、Runtime Environment のインストール先ディレクトリーを除去します。
    3. Java Plug-in をインストールしていた場合は、 Netscape ディレクトリーから Java Plug-in のファイルを除去します。

    Java Runtime Interpreter の起動

    Java ツールを使って、シェル・プロンプトから Runtime Environment for Linux を呼び出すことができます。

    Java ツールのオプション (上記の [-options]) は次のとおりです。

    -X オプションは非標準オプションであり、予告なく変更されることがあります。


    システム・プロパティー

    システム・プロパティー ibm.jvm.bootclasspath は、 『Java Runtime Interpreter の起動』で説明されている -D オプションを使って設定できます。このプロパティーの値は追加の検索パスとして使われ、 -Xbootclasspath/p: によって 定義された値と bootclass パスとの間に挿入されます。bootclass パスはデフォルトであるか、または -Xbootclasspath: オプションによって定義された値になっています。


    IBM ビルド番号およびバージョン番号の確認

    IBM ビルド番号およびバージョン番号を確認するには、シェル・プロンプトで以下のコマンドを入力してください。

    java -version
    

    浮動スタックの使用

    ディストリビューションによっては (例 : RedHat)、'浮動スタック' と呼ばれる GLIBC フィーチャーを使用可能にしています。しかし、Linux のカーネルのレベルが 2.4.10 以下の場合には、制限があり、JVM は、浮動スタックが使用可能な状態で SMP ハードウェア上で稼動しません。この環境では、浮動スタックは、必ず、JVM または JVM を開始するすべてのアプリケーションが開始する前に使用不可になっていなければなりません。RedHat では、浮動スタックを使用不可にするには、以下のように環境変数のエクスポートすることによって行います。

    export LD_ASSUME_KERNEL=2.2.5

    非浮動スタック Linux システムでは、-Xss の設定内容にかかわらず、最小のネイティブ・スタック・サイズ 256KB がそれぞれのスレッドごとに用意されています。浮動スタック Linux システムでは、-Xss 値が用いられます。したがって、非浮動スタック Linux システムから移行する場合、どの -Xss 値も十分に大きく最小の 256KB に頼っていないことを確認する必要があります。


    DBCS 言語での入力方式の切り替え

    2 バイト文字セット (DBCS) システムで入力方式を切り替えたい場合、切り替えに使用するキー・コードを表す環境変数を設定しなければなりません。 オプションで、キー・コードの修飾子を表す別の環境変数を設定することもできます。

    切り替えに使用するキー・コードを指定するには、IBMJAVA_INPUTMETHOD_SWITCHKEY 環境変数を、たとえば VK_F4 などの、java.awt.event.KeyEvent クラス内のキー・コード定義に設定します。

    オプションで、キー・コードの修飾子を指定することもできます。キー・コードの修飾子を指定するには、IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 環境変数を、次のような java.awt.event.InputEvent クラス内の 3 つのマスク定義の任意の組み合わせに設定します。

    各マスクごとにコンマで区切ってください。

    たとえば、IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 環境変数を ALT_MASK、CTRL_MASK と設定することができます。

    これら 2 つの環境変数は Java の初期化時に保管されます。

    環境変数が正しく設定されたことを確認するには、キーを押して、指定したキーの組み合わせに照らし合わせて調べます。 一致していれば、選択用の入力方式を備えた Java ポップアップ・メニューが表示されます。


    デーバナーガリー・フォント

    この Developer Kit は、デーバナーガリー・フォント (Devamt.ttf and Devamtb.ttf) を jre/lib/fonts ディレクトリーに入れません。代わりに、Java は、IBM プラットフォームまたは IBM ソフトウェア・プロダクトに付属の Monotype Unicode フォント (Times New Roman WorldType および Sans Monospace WorldType) を適宜使用してデーバナーガリー (ヒンディ語) フォントをサポートします。


    実行例

    以下に示す Web ページで、例として掲載の "Hello World" をダウンロードできます。この例は、Runtime Environment for Linux で実行でき、これに組み込まれる簡単な Java アプリケーションを作成する方法を示しています。 この例は、以下の Web サイトにあります。

    1. 「Products & APIs」をクリックします。
    2. 「Product Groups」にある「Java 2 Platform, Standard Edition (J2SE)」をクリックします。
    3. 「Current Releases」にある「Java 2 SDK, Standard Edition, v 1.3.1」をクリックします。
    4. 左側の「Documentation」の下にある「Browse」をクリックします。
    5. 「Java Runtime Environment and Java Plug-in」にある「Notes for Developers」をクリックします。

    この例では、Developer Kit for Linux を使ったアプリケーションの開発から、より軽い環境である Runtime Environment for Linux 上への展開までの、簡単かつシームレスな推移をご覧になれます。


    ユーザー・システムへのアプリケーションのインストール

    プロダクトを開発し終わって出荷する準備ができたら、 個々のユーザー・システムにそのプロダクトをインストールし、 ソフトウェアをサポートするようにユーザー・システムを構成して、 runtime 環境を構成する必要があります。

    Runtime Environment for Linux を使用する場合、インストール手順で既存のインストール・プロダクトを上書きしないように気を付けてください (既存の Runtime Environment for Linux が古いバージョンでない限り)。

    Runtime Environment for Linux を再配布するには、ご使用のシステムにそれをインストールしてから、必要な Runtime Environment ファイルをインストール・セットにコピーします。 この方法をとる場合、Runtime Environment for Linux の全ファイルを組み込む必要があります 。Runtime Environment for Linux ソフトウェアは、すべてのファイルが組み込まれている場合に限って再配布することができます。 その結果、アプリケーションは、出荷時にそれぞれ個別の Runtime Environment for Linux のコピーを含むことになります。

    再配布する必要があるファイルに関する特定の情報については、製品に同梱されているご使用条件を参照してください。


    ガーベッジ・コレクション方針の指定

    IBM Runtime Environment for Linux, Java 2 Technology Edition, V1.3.1 では、ガーベッジ・コレクション方針を指定するための -Xgcpolicy JVM runtime オプションが導入されました。

    -Xgcpolicy に指定できるのは、optthruput (デフォルト) と optavgpause の 2 つの値です。このオプションは、アプリケーションおよびシステム全体のスループットとガーベッジ・コレクションに起因する休止時間とをトレードオフし、ガーベッジ・コレクションを制御します。

    このオプションの形式と値は次の通りです。

    -Xgcpolicy:optthruput
    および
    -Xgcpolicy:optavgpause

    休止時間

    アプリケーションがオブジェクトを作成しようとしてその要求がヒープ内の使用可能スペースからすぐに満たされないとき、ガーベッジ・コレクターは、参照されていないオブジェクト (ガーベッジ) を識別してそれらを削除し、ヒープの状態を即時および後続の割り振り要求にすぐに応じられるような状態に戻す責任があります。そのようなガーベッジ・コレクションのサイクルによって、アプリケーション・コードの実行において予期しない休止が時々起こることになります。アプリケーションは大きく複雑になってきており、ヒープもそれに応じて大規模になっているので、このガーベッジ・コレクション休止時間は長さも重要度も増す傾向にあります。デフォルトのガーベッジ・コレクション値である optthruput は、これら時々の休止 (ヒープのサイズとガーベッジの質によって数ミリ秒からかなりの秒数まであり得る) を犠牲にして、非常に高いスループットをアプリケーションにもたらします。

    休止時間の削減

    optavgpause 値は、これらのガーベッジ・コレクション休止に費やされる時間を大幅に削減し、ヒープ・サイズの増加がガーベッジ・コレクション休止の長さに与える影響を制限します。これは特に大規模ヒープを伴う構成に関係があります。(ヒープは少なくとも 1GB ある場合に大規模と考えてください。) ガーベッジ・コレクションと通常のプログラム実行を並行させれば、休止時間は削減されます。この並行の結果、アプリケーションのスループットが少し減少します。

    ヒープが満杯の環境

    Java ヒープが満杯に近く、再利用できるガーベッジが少ししかない場合、新規オブジェクト用の要求がすぐには満たされないことがあります。すぐに使用可能なスペースがないためです。ヒープが容量いっぱいに近い状態で操作されている場合、上記オプションのどちらが使用されているのかには関係なく、アプリケーション・パフォーマンスは悪くなります。 また、さらにヒープ・スペースへの要求が続けば、アプリケーションはメモリー不足例外を受け取り、その例外がキャッチされ処理されなければ、JVM は終了します。このような状態の場合、-Xmx オプションを使用してヒープ・サイズを増やすか、使用中のアプリケーション・オブジェクトの数を減らすことをお勧めします。

    ガーベッジ・コレクションに関する追加情報

    ヒープ・サイズの調整とアプリケーション・パフォーマンスのためのガーベッジ・コレクションの考慮点については、以下を参照してください。


    Runtime Environment for Linux のドキュメント

    次のような runtime ドキュメントが用意されています。


    確認済みの制限事項

    日本語ユーザーへの情報

    日本語バージョンの Linux では、Canna、ATOK12 SE、Wnn4、 または Wnn6 などの日本語入力システムを使用することができます。以下の項を参考にして、これらの日本語入力システムを使用する際に問題が起きないようにしてください。

    すべてのかな漢字変換ユーザーの方に

    Canna ユーザーの場合

    Kinput2 入力サーバーで Canna 入力システムを使用する場合、'記号' 入力モード時に、この入力システムからの視覚的フィードバックの一部が表示されないことがあります。 この問題を避けるには、「Auxiliary Control」ウィンドウがオープンした後で、フォーカスをクライアント・ウィンドウに移してください。

    ATOK12 SE ユーザーの場合

    Wnn4 ユーザーの場合

    Wnn4 を使用している場合、 Input Method Editor (IME) が活動化されていると、 Enter キーを押しても復帰改行されません。 復帰改行が行われるようにするには、IME を非活動化してください。

    Wnn6 ユーザーの場合

    xwnmo 入力サーバーはサポートされません。 入力サーバーには kinput2 を使用してください。

    Wnn4、Wnn6、または Canna ユーザーの場合

    入力サーバーとして Kinput2 を使用している場合、Kinput2 候補選択ウィンドウが表示されている Java ウィンドウを最小化または最大化しないでください。

    Java ウィンドウを最小化すると、
    Java ウィンドウを元の大きさに戻したとき、 kinput2 候補選択ウィンドウは表示されますが、 アクセスできなくなります。 この問題が発生したら、Java アプリケーションを再始動してください。
    Java ウィンドウを最大化すると、
    Java ウィンドウを元の大きさに戻したとき、候補選択ウィンドウが画面の外にはみ出ることがあります。 この問題が発生したら、以下のいずれかを行ってください。

    特記事項

    本書は米国 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. の米国およびその他の国における商標または登録商標です。

    他の会社名、製品名およびサービス名などはそれぞれ各社の商標または登録商標です。