wiki ページで異なるJVMを発見したのはごく最近で、いじくりだすと思いました。ただし、UbuntuでJavaを構成する方法に関するドキュメントを見つけるのは困難でした。
たとえば、使用しているJREまたはJDKを変更したい場合、ターミナルをクラックして、
Sudo update-alternatives --config Java
そして、インストールされているバージョンの1つから選択します。
JVMの権利を理解している場合(そうでない場合もあります)、代わりのJVM(JAMVMなど)を使用するようにopenJDKを構成し、そのように実行できます。
jamvm -jar foo.jar
2つの質問、
1:JVMの概念は正しいですか?同様に、これは可能ですか?
2:その場合、JVMをどのように構成し、デフォルトを選択したJVMに切り替えるのですか?
実行時にJavaをいじくり回すための参照としてこれを自由に使用してください。
JREを選択するには、次を使用します
Sudo update-alternatives --config Java
これにより、次のような出力が得られます。
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/Java-6-openjdk/jre/bin/Java 1061 auto mode
* 1 /usr/lib/jvm/Java-6-openjdk/jre/bin/Java 1061 manual mode
2 /usr/lib/jvm/Java-6-Sun/jre/bin/Java 63 manual mode
3 /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java 1051 manual mode
次に、番号の選択により、必要なJavaランタイムを選択できます。
Sun/Oracleには、-serverと-clientの2つのJVMの選択肢があります。 OpenJDKをJavaランタイム環境として選択した場合、追加のオプションがあります。
他のパラメーターなしでJava
を端末に入力すると、ヘルプにいくつかのオプションのVMがリストされます。 OpenJDKに付属しているものはわかりませんが、3つの人気があるのはJamVM、Zero、Cacao
これらを使用するには、単に入力します
Java -jamvm 'your other parameters here'
Java -cacao 'your other parameters here'
Java -zero 'your other parameters here'
Java -server 'your other parameters here
通常、-server VMがデフォルトです。 -client
を指定することもできますが、64ビットIcedTea6では、-serverと同じバージョンを実行しているように見えます。おそらく他にもありますが、デフォルトのオプションが最も反応が良いと思います。
最後に、Javaのメモリを設定する方法(理由)
Java -Xmx1024m -Xms128m 'your other parameters here'
これにより、Javaプログラムに許可されるメモリが最大1024 MBに制限され、初期メモリサイズが128 MBに設定されます。これは、最小システム要件を定義する優れた方法です。 Java
コマンドの Java 6のマニュアルページ は、これらのオプションなどについて説明しています。
それで全部です。 UbuntuにJavaの調整が追加されている場合は、コメントに残して、追加します。
OpenJDKインストール内でデフォルトのJVMを設定するには、/ usr/lib/jvm/Java -version-openjdk -Arch内にあるjvm.cfg構成ファイルを編集する必要があります/jre/lib/Arch/jvm.cfg
Ubuntuは、OpenJDKバージョンに応じて/ etc /ディレクトリ内にjvm.cfgファイルを公開します。 /etc/Java-6-openjdk/jvm-Arch.cfgまたは/etc/Java-7-openjdk/jvm-Arch.cfg
Jvm.cfgファイル内の一番上の-jvmname KNOWN行は、デフォルトのJVMを決定します。
使用可能な構成ツールはないため、これらのファイルを手動で見つけて編集する必要があります。