【Java入門】JVMの役割から設定まで総まとめ

Javaを実行するためには、JVMと呼ばれる中間コードを実行するための環境が必須となります。

この記事では、

・JVMの役割
・JVMのインストール方法

という基本的な内容から、

・JVMのオプション設定

などのJVMの応用的な使い方に関しても解説していきます。

今回はそんなJVMについて、役割から設定方法までわかりやすく解説します!

目次

JVMとは?

JVMとは「Java Virtual Machine」の略で、Javaでコーディングしたプログラムを動かすために必須のソフトウェアです。

ここではJVMについて詳しく解説してます。

JavaとJVM

Javaは一度プログラムを書けば、プラットフォームに依存せずに動かすことが可能なマルチプラットフォームな言語です。

しかし、Java単体ではマルチプラットフォームでプログラムを動かすことはできません。

そのため、JavaのプログラムとOSの間にJVMを仲介して、Javaプログラムからのバイナリコードの命令文を、JVMがOSごとに理解できるネイティブコードに変換してくれます。

いわばJVMは、「Javaの命令をOSに伝える通訳のようなもの」と思っていただいても良いでしょう。

普段Javaを動かす上で、JVMの存在を意識する必要はありません。

しかし、OSや環境によっては後述するJVMの設定を変更したり、JVMが使用している領域を意識するといったことも必要となってきます。

そんなJVMの詳しい仕組みや構成については、以下の記事で詳しく解説しています!

JVMのインストール

JVMの最新版を使用するためには、Oracleのサイトから最新のJavaをダウンロードする必要があります。

ここでは、JVMのインストールについて詳しく解説しています。

ダウンロードとインストール

JVMはJavaのパッケージに含まれていますので、OracleのJavaの公式ページより最新版のJavaをダウンロード及びPCにインストールする必要があります。

2017/4時点の最新版は「Version 8 Update 121」となります。

使用しているPCにJavaが入っているか、確認する方法は以下となります。

■Windows
「スタートメニュー」→「プログラム」→「Java」を選択し、「Javaについて」をクリックしてJavaのバージョンを表示

■Mac/Linux
ターミナルを起動して以下のコマンドを実行

$ java -version

また、Windowsで稀に「jvm.dll」が見つからないエラーが発生することがあります。

そのような場合は、Javaが正常にインストールされていない可能性がありますので、一旦Javaをアンインストール後に再度インストールを実行してください。

そんなJVMのインストールの詳細については、以下の記事で詳しく解説しています!

JVMのオプション設定

JVMはオプションでさまざまな設定をすることが可能です。

ここではJVMのオプション設定について、詳しく解説しています。

JVMオプションの確認と設定方法

さまざまなアプリケーションやゲームは、Javaで開発されていることが多く、某クラフト系ゲームなどでは、JVMのオプションを設定することが可能です。

また、ターミナルコマンドでJVMのオプションを確認したり、設定することが可能です。

JVMのオプションは、以下のコマンドで確認できます。

$ java -help

普段Javaで開発する上で、JVMの設定を意識することは、ほぼ無いと言えるでしょう。

しかし、OSやマシンのスペックによっては、Javaのプログラムにパフォーマンス上の影響が出たり、動作が重くなった・・・などの原因でJVMの設定を余儀なくされることもありえます。

JVMは設定でメモリ領域のサイズを調整したり、ヒープサイズの値を調整することが可能です。

そんなJVMのオプションの確認・設定の詳細は、以下の記事で詳しく解説しています。

まとめ

ここでは、Javaのプログラムを動かすために必要なJVMについて、役割やインストール方法、オプションの確認・設定方法などについて紹介しました。

JVMは、Javaのプログラムを実行する上で、絶対に必要となるソフトウェアです。

もし、「JVMってなんだっけ?」となったらこの記事を思い出してくださいね!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次