【Java入門】javaコマンド引数のオプション設定一覧(JVMのarguments)

Javaの開発において、普段は気にすることのないJVMですが、実はさまざまなオプションが存在します。

この記事では、

  • JVMのargumentsとは?
  • javaコマンドのオプション設定について
  • javaコマンドオプションの確認と設定方法

などの基本的な内容から、具体的な使い方に関しても解説していきます。今回はjavaコマンドのオプション設定について、わかりやすく解説します!

JVMのargumentsとは?

まずJVMについてですが、JVMとは「Java Virtual Machine」の略で、Javaのプログラムを動かすために必要なソフトウェアです。

Javaは一度プログラムを書けば、Windows、MacそしてLinuxどのマシンでもJavaが動くことを思想として作られています。そのため、JVMのような中間コードをプラットフォーム別に、命令文を変換する仮想マシンが実装されました。JVMは「Java仮想マシン」「JavaVM」とも言われています。

次にargumentsについてですが、argumentsとはjavaをコマンドラインで実行する際に指定する引数のことです。引数を指定してオプションの設定を行います。さまざまなアプリケーションやゲームはJavaで作られてることが多く、JVM上で動作しています。

とくに高スペックを要するゲームなどは、マシンのスペックによっては動作が重くなったり、もたついたりすることがあります。そんなとき、JVMのargumentsの設定で、メモリなどのヒープ領域を増やしてあげる必要があります。マインクラフトのようなゲームでも設定することができます。

なお、JVMについては以下の記事で詳しく解説しています!

【Java入門】JVMとは?わかりやすく解説!
更新日 : 2019年5月23日

javaコマンドのオプション設定について

javaコマンドでは、引数でオプションを設定することで、メモリ量などを設定することができます。しかし、javaコマンドのオプションはさまざまな設定をすることが可能で、何をしたらいいか悩んでしまうことも・・・。

そこで、次項でjavaコマンドのさまざまなオプションや設定方法について説明します。

javaコマンドオプションの確認と設定方法

ここでは、ターミナルのコマンドで、javaコマンドのオプションを確認する方法を説明します。

標準オプション一覧(-cp、-version)

javaコマンドの標準オプションは、以下のコマンドで一覧を確認することができます。

コマンドを実行すると、以下のように表示されます。

例えば、製品バージョンを調べたいときは「-version」を指定します。

実行すると、以下のような製品情報が表示されます。

また「-cp」「-classpath」を指定すると、クラスファイルがカレントディレクトリにない場合に場所を指定することができます。

非標準オプション一覧(-Xmxでのメモリ設定)

javaコマンドの非標準オプションは、以下のコマンドで一覧を確認することができます。

基本的に「-X」がついているオプションは非標準オプションとなります。

オプションの使用例として、JVMのメモリサイズを増やしたい場合は「-Xms<size> 」「-Xmx<size> 」などのオプションを指定します。

オプション規定値(バイト)説明
-Xms2Mヒープ領域の初期サイズ
1Mバイトより大きい1024の倍数
-Xmx64Mヒープ領域の最大サイズ
2Mバイトより大きい1024の倍数
-XX:MetaspaceSize21Mメタスペースの初期サイズ
256Kバイトより大きい2のn乗
-XX:MaxMetaspaceSize無制限メタスペースの最大サイズ
256Kバイトより大きい2のn乗

キロバイトを指定するには、文字kまたはKを追加します。メガバイトを指定するには、文字mまたはMを追加します。ギガバイトを指定するには、文字gまたはGを追加します。

以下に割り当てるメモリのヒープ領域を1024M~3072M、メタスペース(パーマネント領域)を128M~256Mに設定するときの例を記述します。

例えば、マインクラフトというゲームのランチャーではjavaコマンドの引数を上記のように指定すれば、メモリを割り当てることができます。

javaコマンドのオプション一覧を確認する

javaコマンドにはさまざまなオプションが存在し、コンパイルのオプションやメモリサイズ、ガベージコレクションの有効有無など、さまざまな設定をすることが可能です。

以下のORACLEの公式サイトで、JVMで使用できる全てのオプションを確認することができます。

ORACLEの公式サイト
・Standard Options
・Non-Standard Options
・Advanced Runtime Options
・Advanced JIT Compiler Options
・Advanced Serviceability Options
・Advanced Garbage Collection Options

JVMについてもっと詳しく知りたい方へ

JVMの概要やインストール、設定方法については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

【Java入門】JVMの役割から設定まで総まとめ
更新日 : 2019年3月13日

まとめ

ここでは、Javaにおけるjavaコマンドのオプションの確認や設定方法について説明しました。

Javaのプログラムを動かす上で、javaコマンドのオプションを設定できるようになれば、マシンのスペックやシステムに合わせて、Javaを最適な環境で動かすことができます。

もし、javaコマンドのオプションについて忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説