資格道場
記事法人
OracleLevel 3

難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。

Java Silver SE 11 (1Z0-815-JPN)のサンプル問題(本番形式・解説付き)

Java Silver SE 11 (1Z0-815-JPN)(Oracle・Java SE 11 Programmer I(Java Silver SE11))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(80問)の冒頭から抜粋したオリジナル問題です。当サイトは全400問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。

設問1

Java のプログラムが書かれてから実行されるまでの流れとして適切なものはどれか。

  • 人がソースファイルを書き、java がクラスファイルを作り、javac がそのクラスファイルを読み込んで実行する
  • 人がソースファイルを書き、JVM がそれを読み込んで実行し、その結果として javac がクラスファイルを作る
  • 人がクラスファイルを書き、javac がソースファイルを作り、JVM がそのソースファイルを読み込んで実行する
  • 人がソースファイルを書き、javac がクラスファイルを作り、JVM がそのクラスファイルを読み込んで実行する(正解)

解説

順番は「人が .java を書く → javac が .class を作る → JVM がそのクラスファイルを読み込んで実行する」で固定です。人が書くのは .java で、javac が作るのが .class なので、書く側と作られる側を入れ替えた肢は成り立ちません。JVM が読み込むのはコンパイルが終わったあとのクラスファイルなので、実行が先でコンパイルが後になる肢も順序が逆です。作る側が javac、動かす側が java なので、この2つの役割を入れ替えた肢も外れます。

設問2

javac が作るクラスファイルの中身についての説明として適切なものはどれか。

  • 実行のたびにソースファイルを読み直すための行番号の対応表が入っている
  • CPU が直接読み取れる形式の命令であるネイティブコードが入っている
  • Java 仮想マシンが理解する形式の命令であるバイトコードが入っている(正解)
  • ソースファイルの中身がそのまま複製され、拡張子だけが変わったものが入っている

解説

クラスファイルの中身はバイトコードで、これを読むのは Java 仮想マシンです。CPU が直接読み取れる形式の命令はネイティブコードと呼ばれ、CPU の種類ごとに形式が変わるので、バイトコードとは別のものです。コンパイルは中身を作り変える工程なので、複製して拡張子を付け替えたものにはなりません。一度コンパイルすれば実行時にソースファイルは要らないため、ソースを読み直すための対応表も入っていません。

設問3

JDK・JRE・JVM の関係についての説明として適切なものはどれか。

  • JVM は JRE を含み、JRE は JDK を含む。javac が付属するのは JVM である
  • JDK は JRE を含み、JRE は JVM を含む。javac が付属するのは JDK である(正解)
  • JRE は JDK を含み、JDK は JVM を含む。javac が付属するのは JRE である
  • JDK と JRE と JVM は互いに含み合わない別々の配布物で、javac はどれにも付属しない

解説

包含関係は大きい方から JDK ⊃ JRE ⊃ JVM で、開発ツールである javac は JDK にだけ入っています。JRE は JVM と API を持つ実行環境なので、JRE から JDK を含む向きにはなりません。JVM はバイトコードを実行する中核なので、JVM が JRE を含む向きも成り立ちません。3つは入れ子の関係にあるので、互いに含み合わない別々の配布物とする肢も外れます。

設問4

Java の API についての説明として適切なものはどれか。

  • Java があらかじめ用意しているクラスとインタフェースの集まりで、パッケージという単位に分類されている(正解)
  • ソースファイルをクラスファイルに変換する役目を持つ、開発環境に付属するツールの名前である
  • 開発者が自分で用意する部品を指す語で、標準の配布物には対応する部品が含まれていない
  • Java 仮想マシンの別名で、クラスファイルを読み込んで実行する役目を持つしくみを指す語である

解説

API は標準で提供されるクラスとインタフェースの集まりで、関係するものどうしがパッケージという単位にまとめられています。実行する側は JVM で、API は使われる部品の側なので、両者は別のものです。ソースファイルをクラスファイルへ変換するのは javac というツールの仕事で、API はその名前ではありません。API は標準で提供されるものなので、開発者が自分で用意する部品を指す肢も外れます。

設問5

開発環境に付属するツールと、その働きの組み合わせとして適切なものはどれか。

  • javadoc はソースファイルをコンパイルし、jar はクラスファイルの中身をテキストの形で表示する
  • javap は入力した文をその場で実行して結果を返し、jshell はクラスファイルを1つの書庫にまとめる
  • java はソースファイルをコンパイルし、javac はできあがったプログラムを読み込んで実行する
  • javadoc はソース内の説明から HTML のドキュメントを作り、jar は複数のクラスファイルを1つの書庫にまとめる(正解)

解説

javadoc はソース内の説明から HTML のドキュメントを作り、jar は複数のクラスファイルを1つの書庫にまとめます。コンパイルを担当するのは javac なので、javadoc がコンパイルするという組み合わせは成り立ちません。クラスファイルの中身を表示するのが javap、入力した文をその場で試すのが jshell なので、この2つを入れ替えた肢も外れます。作る側が javac、動かす側が java なので、この2つを入れ替えた肢も成り立ちません。

続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。

登録なしで50問解く