JavaゴールドSE 11とSE 17の違いは?どっちを受けるべき?

当ブログは広告リンクを含みます。
  • URLをコピーしました!
目次

JavaゴールドSE 11とSE 17の違い

JavaゴールドにはSE 11とSE 17の2つのバージョンがあります。基本的にはJavaシルバーで受験したバージョンで受験するのがよいです。

  • SE 11はアサーション、セキュア・コーディング、アノテーションが出題される
  • SE 17はFlowやDataSourceなどが新たに出題範囲に加わっている

再受験料が無料

Oracle資格の再受験料が無料になるキャンペーンが2026年5月31日まで開催中なのでぜひ活用しましょう。

あわせて読みたい
【2026年5月まで】オラクルの再受験料が無料になるキャンペーン 再受験料無料キャンペーン Oracle資格の再受験料が無料になるキャンペーンが期間限定で開催中です。公式サイト オラクル資格では、毎年春頃に再受験料無料キャンペーン...

試験概要の比較

JavaゴールドSE 11とSE 17の試験概要を表にまとめると以下のとおりです。

問題数が減ったものの試験時間も短くなっているので、1問あたりに割ける時間は短くなっています。

Oracle公式|Java SE 11 Programmer II(1Z0-816-JPN)
Oracle公式|Java SE 17 Programmer II(1Z0-826-JPN)

項目JavaゴールドSE 11JavaゴールドSE 17
試験番号1Z0-816-JPN1Z0-826-JPN
問題数80問60問
試験時間180分90分
合格ライン63%65%
1問あたりの時間約2分15秒約1分30秒

出題範囲の違い

出題範囲をまとめると記載の通りです。

SE 11ではアサーション、セキュア・コーディング、アノテーションの3分野は対策が必須です。SE 17ではFlowとDataSourceが新たに出題範囲に加わっています。

分野JavaゴールドSE 11JavaゴールドSE 17
アサーション出題独立項目なし
セキュア・コーディング出題独立項目なし
アノテーション出題独立項目なし
Flow独立項目なし(出題なし)出題(並列処理分野)
DataSource独立項目なし(出題なし)出題(JDBC分野)

ストリーム、モジュール、JDBC、I/OなどはSE 17で統合・再編されていますが、どちらのバージョンでも出題されるため表には載せていません。

出題例

Java SE11の出題範囲


アサーション

assert はSE 11で独立した出題分野です。開発・テスト時にメソッドの前提条件を検証するために使います。-ea オプションで有効化されているときだけ評価されるので、無効時は例外も出ずに次の行に進みます。

Oracle公式|AssertionError(Java SE 11)

int score = -1;
assert score >= 0 : "score must be positive";

System.out.println(score);

-ea なしで実行すると、assert行は無視されて -1 が出力されます。-ea ありで実行すると、score >= 0 が false のため AssertionError がスローされ、println には到達しません。第2引数の "score must be positive" はエラーメッセージとして使われます。


セキュア・コーディング

SE 11では独立した出題分野です。外部から受け取ったデータを安全に処理するために使います。DoS防止、機密情報の保護、シリアライゼーション時の入力検証などが出題されます。

Oracle公式|Secure Coding Guidelines for Java SE

private void readObject(ObjectInputStream in)
        throws IOException, ClassNotFoundException {
    in.defaultReadObject();
    if (this.age < 0 || this.age > 200) {
        throw new InvalidObjectException("Invalid age: " + age);
    }
}

デシリアライズ時に readObject をオーバーライドして、復元されたフィールドの値を検証しています。検証なしで受け入れると、外部から不正な値を注入される危険があります。


アノテーション

SE 11では独立した出題分野です。SpringやJUnitなどのフレームワークが実行時にクラスやメソッドの情報を読み取るために使います。定義方法と保持期間・付与先の指定が出題されます。

Oracle公式|java.lang.annotation(Java SE 11)

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface TestInfo {
    String author();
    int priority() default 1;
}

@Retention(RUNTIME) は実行時にリフレクションで読み取れることを意味します。@Target(METHOD) はメソッドにだけ付与できる指定です。priority には default 1 があるため使用時に省略できますが、author には default がないため必ず指定する必要があります。

Java SE17の出題範囲


Flow

SE 17で追加された出題分野です。非同期のデータストリーム処理で、送信側と受信側の速度差を制御(バックプレッシャー)するために使います。PublisherSubscriberSubscriptionProcessor の4つの役割を理解し、データの要求と受け取りの流れを読み取る必要があります。

Oracle公式|Flow(Java SE 17)

class SampleSubscriber implements Flow.Subscriber<String> {
    private Flow.Subscription subscription;

    @Override
    public void onSubscribe(Flow.Subscription subscription) {
        this.subscription = subscription;
        subscription.request(1);
    }

    @Override
    public void onNext(String item) {
        System.out.println(item);
        subscription.request(1);
    }
}

onSubscribesubscription.request(1) を呼んで最初の1件を要求しています。この request() を呼ばないと onNext は一度も呼ばれません。onNext の中でもう一度 request(1) を呼ぶことで、1件ずつ受け取る流れを維持しています。なお、onErroronComplete はどちらか一方しか呼ばれません。


DataSource

SE 17のJDBC分野で DataSource が出題範囲に加わりました。Webアプリケーションでデータベースに接続してCRUD操作を行うときに使います。DriverManager との違いと、PreparedStatement のパラメータの扱いが主な論点です。

Oracle公式|PreparedStatement(Java SE 17)

DataSource ds = getDataSource();

try (Connection con = ds.getConnection();
     PreparedStatement ps =
         con.prepareStatement("SELECT name FROM users WHERE id = ?")) {
    ps.setInt(1, 10);

    try (ResultSet rs = ps.executeQuery()) {
        while (rs.next()) {
            System.out.println(rs.getString("name"));
        }
    }
}

DataSource はサーバー側で接続プールやJNDI経由の管理ができる接続方法で、DriverManager より実務向きです。ps.setInt(1, 10) の第1引数はパラメータの位置で、0ではなく1から始まります。try-with-resources で Connection、PreparedStatement、ResultSet の順にクローズされます。

Javaゴールドに役立つ情報

おすすめの参考書・問題集

Javaゴールドのおすすめの参考書・問題集は別記事でまとめています。

あわせて読みたい
【2026年】Javaゴールドにおすすめの参考書・問題集・動画コース Javaゴールドにおすすめの学習教材 Javaゴールド(SE 11、SE17)におすすめの参考書・問題集・動画コースを紹介します。 JavaゴールドにはSE 11とSE 17の2つのバージョ...

難易度・勉強時間

Javaゴールドの難易度と必要な勉強時間は別記事でまとめています。

あわせて読みたい
【独自調査】Javaゴールドの難易度と必要な勉強時間 Javaゴールドの難易度と必要な勉強時間 JavaゴールドSE 11とSE 17の体験記から難易度、勉強期間、勉強時間を調べました。 要点をまとめると記載の通りです。 SE 11はラ...

申し込み方法

Javaゴールド試験の申し込み方法は別記事でまとめています。

あわせて読みたい
【2026年】オラクルマスター・java試験の申し込み・受験方法 オラクル試験の申し込み・受験方法 オラクルマスター・java資格試験の申し込み・受験方法を図解を用いてわかりやすく解説します。入門資格であるオラクルマスターブロン...
目次