OJCP Gold SE 7 資格試験の
傾向と対策
日本オラクル株式会社
オラクルユニバーシティ
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するもので
す。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み
込むことはできません。以下の事項は、マテリアルやコード、機能を提供す
ることをコミットメント(確約)するものではないため、購買決定を行う際
の判断材料になさらないで下さい。
オラクル製品に関して記載されている機能の開発、リリースおよび時期につ
いては、弊社の裁量により決定されます。
Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録
商標または商標です。他社名又は製品名は、それぞれ各社の商標である場合があります。
Agenda
1.
Java SE 7 対応オラクル認定Java資格
のご案内
2.
OCJP Gold SE 7 資格試験の傾向と対策
3.
補足情報
1. Java SE 7対応オラクル認定
Java資格のご案内
Java SE 7対応オラクル認定Java資格が新しくなりました
Bronze, Silver, Goldの3段階の積み上げ式でスキルを認定します
Oracle Certified
Java Programmer,
Gold
SE 7
Oracle Certified
Java Programmer,
Silver
SE 7
Oracle Certified
旧資格体系
新資格体系
設計者の意図を正しく理解して独力で機能実装が行えるレベル
(中上級Javaプログラマ向け)
Gold資格は、コレクションAPI, ファイルI/O,
並行処理
、
JDBC
などのライ
ブラリを使用したプログラミングを理解しているかどうかが主な出題項目
です。加えて
デザインパターン
についても問われるため
設計から実装まで
の包括的なスキルを身につけているか
が問われます。
(Global資格: Oracle
Certified Professional, Java SE 7 Programmer)
独力で単体テストコードなどを書けるくらいのレベル
(初級Javaプログラマ向け)
Silver資格は、Java言語の基本文法とオブジェクト指向プログラミング(ク
ラス、インタフェース、例外処理)を理解しているかどうかが主な出題項
目です。
プログラミングのために必要とされる仕様を詳細に理解している
か
が問われます。
(Global資格: Oracle Certified Associate, Java SE 7 Programmer)
Javaによるオブジェクト指向プログラミングを覚えたレベル
Oracle Certified
Java Programmer,
Silver
SE 7
Oracle Certified
Java Programmer,
Bronze
SE 7
1Z0-805: Upgrade to
Java SE 7 Programmer
1Z0-804:
Java SE 7 Programmer II
1Z0-803:
Java SE 7 Programmer I
1Z0-802:
Java SE 7 Bronze Exam
OCJ-P/SJC-P資格取得者
(バージョンは問わない)
これから資格取得を
目指す方
Oracle Certified
Java Programmer,
Gold
SE 7
Java SE 7 資格認定パス
Gold試験は、どちらも
か
なり手強い
です。しっか
り準備して試験に備えま
しょう!
一試験で
移行可能!
資格名
試験名
オンライン試験有り
OCJP Gold SE 7 試験
試験名: Java SE 7 Programmer II (1Z0-804)
認定資格: Oracle Certified Java Programmer,
Gold SE 7
出題数: 90問 (選択式)
試験時間: 150分
合格ライン: 65%
試験料(税抜): 32,600 円
前提資格: OCJP Silver SE 7
Java SE 7 Programmer II
テスト内容チェックリスト (1)
1. Javaクラスの設計
アクセス修飾子の使用:private, protected,
public
メソッドのオーバーライド
コンストラクタおよびメソッドに対するオー
バーロード
instanceof演算子の使用とキャスト
仮想メソッド呼び出しの使用
クラスの機能向上のためのObjectクラスのメ
ソッドのオーバーライド
package文とimport文の使用
2. 高度なクラス設計
抽象クラスの適用方法と適用するタイミングの
特定
抽象クラスとサブクラスの作成
staticキーワードとfinalキーワードの使用
最上位レベルとネストクラスの作成
3. オブジェクト指向の設計原理
インタフェースの宣言、実装および継承
インタフェースの継承とクラスの継承の選択
is-a関係とhas-a関係を実装するコードの作成
コンポジションの適用
シングルトン・デザイン・パターンの使用
DAOパターンを実装するコードの作成
ファクトリを使用した設計とAPIからのファクトリの使
用
4.ジェネリックスとコレクション
ジェネリックスクラスの作成
コレクションとダイアモンド演算子の使用
従来型とジェネリックス型を使用したコレクションの相
互運用性の分析
ラッパー・クラスとオートボクシングの使用
List、SetおよびDequeの作成と使用
Mapの作成と使用
java.util.Comparatorとjava.lang.Comparableの使用
配列とリストのソートと検索
テスト内容チェックリスト (2)
5. 文字列処理
文字列の検索、解析および作成
.(ピリオド)、*(アスタリスク)、+(プラ
ス)、?、¥d、¥D、¥s、¥S、¥w、¥W、¥b、¥B、
[]、()などのパターンを正規表現で使用して、文
字列の検索、解析および置換を行う
書式指定パラメータを使用した文字列の書式
化: %b、%c、%d、%f、%s
6. 例外とアサーション
throw文とthrows文の使用
multi-catchのあるtry文とfinally句の使用
try-with-resources文を使用したリソースの自動
クローズ
カスタム例外の作成
7. Java I/Oの基礎
コンソールからのデータの読み込みと書き込み
ファイルの読み込みおよび書き込みのためのストリーム
の使用
8. Javaファイル I/O (NIO.2)
ファイルやディレクトリパス操作のためのPathクラスの
使用
Filesクラスを使用したファイルやディレクトリの確認、
削除、コピー、および移動
ファイル属性やディレクトリ属性の読み込みおよび変更
ディレクトリ・ツリーの再帰アクセス
PathMatcherクラスを使用したファイルの検索
WatchServiceを使用したディレクトリ変更の監視
9. JDBCによるデータベース・アプリケー
ションの作成
JDBC APIのレイアウト定義
JDBCドライバを使用したデータベース接続
データベースへの更新と問い合わせ
JDBCのトランザクションの振る舞いのカスタマイズと
トランザクションのコミット
JDBC 4.1のRowSetProvider、RowSetFactoryおよび
RowSetインタフェースの使用
テスト内容チェックリスト (3)
10. スレッド
ThreadクラスとRunnableインタフェースの作成
と使用
スレッドのライフサイクルの管理と制御
スレッドの潜在的な問題の識別
スレッドの潜在的な問題の識別
11. 並行処理
java.util.concurrentコレクションの使用
アトミック変数とロックの適用
ExecutorsとThreadPoolsの使用
並列Fork/Joinフレームワークの使用
12. ローカライゼーション
Localeオブジェクトを使用したロケールの読み込みおよ
び設定
各ロケールのリソース・バンドルの作成
アプリケーションでのリソース・バンドルのロード
NumberFormatとDateFormatを使用した国際化対応のテ
キスト書式設定
OCJP Gold SE 7 移行試験
試験名: Upgrade to Java SE 7 Programmer (1Z0-805)
認定資格: Oracle Certified Java Programmer,
Gold SE 7
出題数: 90問 (選択式)
試験時間: 150分
合格ライン: 60%
試験料(税抜): 32,600 円
前提資格: OCJ-P, SJC-P
(Versionは問わない)
テスト内容チェックリスト
3. データベース・アプリケーションとJDBC
JDBC APIについて説明する
JDBCを使用してデータベースに接続するために必要な
Javaの文を識別する
JDBC 4.1のRowSetProvider、RowSetFactoryおよび新し
いRowSetインタフェースを使用する
JDBCトランザクションを使用する
問合せを送信してデータベースからの結果を読み取るた
めの適切なJDBC APIを使用する
JDBCのPreparedStatementとCallableStatementを使用する
4. 並列処理
スレッドの潜在的な問題を識別する
java.util.concurrent コレクションを使用する
アトミック変数とロックを使用する
ExecutorsとThreadPoolsを使用する
並列Fork/Joinフレームワークを使用する
5.ローカライズ
アプリケーションをローカライズする利点について説明するロケールが表すものを定義する
Localeオブジェクトを使用してロケール読み込みを設定する各ロケールのリソース・バンドルを作成する
アプリケーションからリソース・バンドルを呼び出す
ロケールに基づいてリソース・バンドルを選択する
NumberFormatとDateFormatを使用してローカライズ用
にテキストの書式を設定する
6. JavaのファイルI/O(NIO.2)
Pathクラスを使用してファイルとディレクトリのパスを
操作する
Filesクラスを使用してファイルまたはディレクトリを
チェック、削除、コピーまたは移動する
ファイルとディレクトリの属性を読み取り変更する
ディレクトリ・ツリーに再帰的にアクセスする
PathMatcherクラスを使用してファイルを検索する
WatchServiceを使用してディレクトリの変更を監視する
1. 言語の拡張
switch文で文字列を使用する
下線文字がある数値リテラルと2進リテラルを使用する
try-with-resourcesを使用する
例外処理で複数のcatchを使用する
総称型宣言でダイアモンド演算子を使用する
例外処理でより正確なrethrowを使用する
2. 設計パターン
シングルトン設計パターンを使用してクラスを設計する
ビジネス問題を解決するためにコンポジションを使用す
るタイミングと方法を識別する
DAOパターンを実装するコードを記述する
ファクトリ設計パターンを使用するクラスを設計する
2. OCJP Gold SE 7 資格試験の
傾向と対策
OCJP Gold SE 7 試験の出題傾向
ソースコードをもとに、その結果を問う問題が多く出題されます
–
少し長めのソースコードを読み込む必要がありが、出題数が多いので短時
間でコードの内容を把握できるかどうかがポイントです
1問あたり1分30秒
ペースで回答する必要があります
コンパイルエラーになるか?実行結果はどうなる?
要件に合致する実装を選ぶ問題も出題されます
–
デザインパターンはパターンと実装例をしっかり把握しておく必
要があります
Gold試験(804)と移行試験(805) との共通点
OCJP Gold SE 7 試験の出題傾向
Gold試験(804)は従来のプログラマ試験の範囲がメインです
–
Java SE 7の新機能ももちろん出題されますが、ファイルI/Oやスレッドプ
ログラミングなどJava SE 6までのプログラミングスキルを問う問題も多く
出題されます
特にスレッドプログラミングはコードが複雑です
アサーションや書式付き出力(printf)なども要チェックです
移行試験(805)はJava SE 7の新機能にフォーカスしています
–
Project CoinやFork/Join, NIO.2などJava SE 7の新機能を理解できているか
Gold試験(804)と移行試験(805) とで異なる点
OCJP Gold SE 7 試験のトピック別の出題傾向
Java SE 7 言語の拡張 (
804
, 805)
例外とアサーション (804,
805
)
並行処理 (
804
, 805)
ローカライゼーション(
804
, 805)
ファイルI/O (NIO.2) (
804
, 805)
本日のセッションでご紹介する内容
1. Java SE 7 言語の拡張
1.
switch文で文字列を使用する
2.
下線文字がある数値リテラルと2進リテラルを使用する
3.
try-with-resourcesを使用する
4.
例外処理で複数のcatchを使用する
5.
総称型宣言でダイアモンド演算子を使用する
6.
例外処理でより正確なrethrowを使用する
このトピックでの出題ポイント
1. Java SE 7 言語の拡張
出題はProject Coinが主体ですが、周辺知識を問う複合問題も出題され
ます
–
String with Switch + Collectionなど
–
基数変換(10進数→2進数)
–
Java SE 6までの実装方法との比較
プログラムコードの実行結果を問う出題が複数あります
–
コンパイルエラーになるケースもあり
2. 例外処理とアサーション
1.
throw文とthrows文の使用
2.
multi-catchのあるtry文とfinally句の使用
3.
try-with-resources文を使用したリソースの自動クローズ
4.
カスタム例外の作成
5.
アサーションを使用した不変条件のテスト
このトピックでの出題ポイント
2. 例外処理とアサーション
例外処理はJava SE 7の新機能を中心に押さえましょう
–
新機能を使うための構文を中心に確認
try-with-resourcesのクローズ順やAutoCloseableインタフェースなど
multi-catch句の記述方法
–
アサーションは基本的な使い方を確認
assertの使用方法やアサーションを有効にするコマンドラインオプション
プログラムを評価する出題が多いです
–
try-with-resourcesそのものだけでなくJDBCやNIO.2と合わせた複合問題も
3. 並行処理
1.
スレッドの潜在的な問題を識別する
2.
java.util.concurrentコレクションを使用する
3.
アトミック変数とロックを使用する
4.
ExecutoresとThreadPoolsを使用する
5.
並列Fork/Joinフレームワークを使用する
Gold試験では『スレッド』と『並行処理』の二つのトピックが出題されます
『スレッド』には基本的なスレッド・プログラミングのトピックが含まれます
このトピックでの出題ポイント
3. 並行処理
Gold試験(804)ではスレッドプログラミングの基本をしっかり理解しま
しょう
–
長めのプログラムを評価する出題が多い
スレッドの作成や同期処理(synchronized)など基礎的な出題は取りこぼしなく
マルチスレッド・プログラムの実行結果が問われることも
移行試験(805)では、並行処理を中心に理解を深めましょう
–
スレッドセーフなコレクション(java.util.concurrent パッケージ)
APIドキュメント要確認
4. ローカライゼーション
1.
アプリケーションをローカライズする利点について説明する
2.
ロケールがあらわすものを定義する
3.
Localeオブジェクト使用してロケール読み込みを設定する
4.
各ロケールのリソース・バンドルを作成する
5.
アプリケーションからリソース・バンドルを呼び出す
6.
ロケールに基づいてリソース・バンドルを選択する
7.
NumberFormatとDateFormatを使用してローカライズようにテキス
トの書式を設定する
このトピックでの出題ポイント
4. ローカライゼーション
リソース・バンドルの使い方を把握しましょう
–
propertiesファイルの記法やファイルの配置場所まで確認
–
プログラムからリソース・バンドルを呼び出す方法
移行試験(805)ではローカライゼーション関連のAPIも確認しておきま
しょう
–
APIを使用したのロケール指定方法
–
DateFormatはフォーマット指定と出力結果を確認
Java SE 7 の新機能の通貨(Currency)の使い方もチェック
5. JavaファイルI/O (NIO.2)
1.
Pathクラスを使用してファイルまたはディレクトリパスを操作する
2.
Filesクラスを使用してファイルまたはディレクトリを操作する
3.
ファイル属性やディレクトリ属性への読み取りおよび変更
4.
ディレクトリ・ツリーに再帰的にアクセスする
5.
PathMatcherクラスを使用してファイルを検索する
6.
WatchServiceを使用してディレクトリの変更を監視する
Gold試験では『ファイルI/Oの基礎』と『NIO.2』の二つのトピックが出題されます
『ファイルI/Oの基礎』にはストリームを使用したファイルI/Oのトピックが含まれます
このトピックでの出題ポイント
5. JavaファイルI/O (NIO.2)
プログラムコードの実行結果を問う出題が多いです
–
プログラミング手順を確認
関連クラスも合わせてAPIドキュメントを確認
–
FileとPathクラスやFileVisitor, WatchService, PathMatcherクラス
要件に合わせたクラス/メソッド選択ができるように
–
ディレクトリ操作や監視のプログラミング手順を確認
Gold試験(804)では基本的なファイルI/Oをメインに確認しましょう
例題 1
次のコードの( A )に記述可能なものはどれですか? 2つ選んで下さ
い。
1.
int var = 0b_1111;
2.
long var = 0b11_11L;
3.
float var = 0b11_11F;
下線文字がある数値リテラルと2進リテラルを使用する
1. public static void main(String[] args) {
2. // ( A )
3. System.out.print("The decimal value is" + var);
4. }
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 31