プログラムの開発環境に関する知識を問う問題です。
問題
次のうち、JVM(Java Virtual Machine)の役割として正しいものはどれでしょうか?複数選択してください。
選択肢
- A. Javaプログラムをバイトコードにコンパイルする。
- B. Javaバイトコードを実行する。
- C. メモリ管理を行い、不要になったオブジェクトを自動で破棄する。
- D. Javaの標準ライブラリを提供する。
- E. ソースコードを入力し、実行可能なファイルを生成する。
答えと解説
回答を見る
答え
B. Javaバイトコードを実行する。
C. メモリ管理を行い、不要になったオブジェクトを自動で破棄する。
解説
解説のポイント:
- JVMの基本的な役割
- JITコンパイルとガベージコレクション
JVM(Java Virtual Machine)は、Javaプラットフォームの一部であり、Javaバイトコードを実行するための仮想マシンです。
選択肢Bの「Javaバイトコードを実行する」はJVMの主要な役割です。Javaソースコードはまずバイトコードにコンパイルされ、それをJVMが解釈・実行することで、プログラムが動作します。
選択肢Cの「メモリ管理を行い、不要になったオブジェクトを自動で破棄する」とは、JVMがガベージコレクションを行うことを指します。ジャバアプリケーションが動作する間、不要になったオブジェクトを自動的にメモリから解放してくれる機能です。これにより、メモリの効率的な利用が可能になります。
選択肢Aの「Javaプログラムをバイトコードにコンパイルする」と、Eの「ソースコードを入力し、実行可能なファイルを生成する」は、JVMではなくJavaコンパイラの役割です。
選択肢Dの「Javaの標準ライブラリを提供する」は、JDK(Java Development Kit)に含まれるライブラリが行います。JVMはそれを利用してバイトコードを実行します。
これからもJavaテクノロジと開発環境に関する知識を深め、実践での応用力を高めいきましょう。