Java初心者の私がJava Programmer Bronze SE 7/8 (1Z0-814)の過去問で間違えたところをまとめていきます。
間違えた過去問その1<重要度★★★>
◆問題
JVM (Java Virtual Machine)の役割として適切なものはどれですか。2つ選択してください。
A. ソースコードをコンパイルする
B. クラスのロード
C. バイトコードを解釈する
D. classファイルを逆アセンブルする
◆解答
B.C
◆解説
JVM(Java Virtual Machine)は、Javaのプログラムを実行するためのソフトウェアであり、Javaバイトコードをプラットフォーム固有のネイティブコードに変換しながら実行します。JVMは単独でインストールすることはできず、Javaの実行環境であるJRE(Java Runtime Environment)に含まれます。
Javaのプログラムを実行するためには、javaコマンドを使用してJVMにクラスファイルを渡します。JVMは、指定されたクラスファイルを読み込み、バイトコードを解釈しながら実行します。つまり、JVMはJavaコードをネイティブマシンコードに変換することなく、バイトコードとして解釈して実行することができます。
従って、選択肢B.Cが正解です。
選択肢Aは、ソースコードのコンパイルはJDKに含まれるコンパイラの役割となるため、不正解です。
選択肢Dは、JVMに逆アセンブルの役割はないため、不正解です。
以下に、JDK、JRE、JVMのそれぞれの役割と違いを示します。
JDK (Java Development Kit) | JRE (Java Runtime Environment) | JVM (Java Virtual Machine) | |
定義 | Javaの開発ツール群 | Javaプログラムの実行環境 | Javaバイトコードを実行するエンジン |
機能 | Javaアプリケーションの開発、コンパイル、デバッグ | Javaアプリケーションの実行 | Javaバイトコードをマシン語に変換して実行 |
内容 | JRE + Java開発ツール群 | Javaクラスライブラリ + JVM | JVM |
役割 | Javaアプリケーションの開発環境を提供 | Javaプログラムの実行環境を提供 | Javaバイトコードを実行するエンジンとして機能 |
必要なもの | なし | JRE | JRE |
インストール | 必要 | 一般的には必要 | 不要 |
バージョン管理 | JDKのバージョンによって異なる | JREのバージョンによって異なる | JVMのバージョンによって異なる |
間違えた過去問その2<重要度★☆☆>
◆問題
Javaが提供するエディションとして不適切なものはどれですか。1つ選択してください。
A. Java SE
B. Java DB
C. Java EE
D. Java ME
◆解答
B
◆解説
Javaテクノロジについての問題です。
Javaテクノロジは、Java SE、Java EE、Java MEの3つのエディションを提供しています。正式名称は次のようになっています。
- Java Platform, Standard Edition (Java SE)
- Java Platform, Enterprise Edition (Java EE)
- Java Platform, Micro Edition (Java ME)
Java DBは、JDKに同梱されているデータベースのため、Javaテクノロジが提供するエディションではありません。したがって、選択肢Bは不適切なので正解です。
Java SEは、Javaプログラミング言語の基本的な機能を含んだエディションであり、単体で使用することも、クライアント/サーバーシステムの開発に利用することもできます。
したがって、適切な記述であり、不正解です。
Java EEは、Webアプリケーションや大規模な業務アプリケーションの開発に使用されるJavaのエディションです。Java EEには、サーブレット、JSP、EJBなどのテクノロジが含まれています。Java EEは、Java SEと組み合わせて使用されることが一般的です。したがって、適切記述なので不正解です。
Java MEは、家電製品、携帯電話、モバイル端末など、リソースのサイズに制限のあるような機器向けの、組み込み系プログラムの開発に使用されるエディションです。Java MEはJava SEと組み合わせて使用します。従って、適切な表現なので不正解です。
以下にJava SE、Java EE、Java MEの3つのエディションについてまとめました。
エディション | 名称の意味 | 用途 |
---|---|---|
Java SE | Java Standard Edition | Java言語の基礎となる標準的な機能をまとめたエディション。スタンドアロンや、クライアント/サーバシステムの開発に使用できる。 |
Java EE | Java Enterprise Edition | 買い物サイトなどのWebアプリケーションや大規模な業務アプリケーションの開発に使用されるエディション。サーブレットやJSP、EJBといったテクノロジが含まれる。Java SEと組み合わせて使用される。 |
Java ME | Java Micro Edition | 携帯電話などの小規模なデバイスで動作するアプリケーションの開発に使用されるエディション。Java SEの機能の一部を含む。 |
間違えた過去問その3<重要度★★☆>
◆問題
基本データ型として適切なものはどれですか。3つ選択してください。
A. bit
B. int
C. String
D. char
E. date
F. double
◆解答
B,D,F
◆解説
Javaでは、8つの基本データ型が定義されています。
以下にJavaの基本データ型とその範囲を表にまとめました。
データ型 | 説明 | サイズ(バイト数) | 範囲 |
---|---|---|---|
byte | 整数値(8ビット) | 1 | -128 ~ 127 |
short | 整数値(16ビット) | 2 | -32,768 ~ 32,767 |
int | 整数値(32ビット) | 4 | -2,147,483,648 ~ 2,147,483,647 |
long | 整数値(64ビット) | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
float | 浮動小数点数 | 4 | 1.4E-45 ~ 3.4028235E38 |
double | 浮動小数点数 | 8 | 4.9E-324 ~ 1.7976931348623157E308 |
char | Unicode文字を表す | 2 | ‘\u0000’ ~ ‘\uffff’ |
boolean | 真偽値を表す | 1 | trueまたはfalse |
各選択肢の解説は、以下のとおりです。
×選択肢A、E
bit型とdate型は基本データ型に存在しません。したがって、不正解です。
◯選択肢B、D、F
int型、char型、double型が基本データ型として定義されているデータ型です。
したがって、正解です。
×選択肢C
String型は参照型に属します。したがって、不正解です。
個人的に上記で間違いやすいのは選択肢Cに関してです。
プログラミングでよく使われるString型ですが、基本データ型ではありません。
しかし、同じプログラミングでよく使われるint型は基本データ型のため、間違いやすいです。
まとめ
今後も過去問で躓いた箇所をいつでも見返して復習できるようにまとめていきます。
コメント