猫と一緒にガジェットライフ♪ムチャ(@mutoj_rdm821)です。
約2年前にJavaの認定資格が改訂されました。その時のことは記事にしています。
昨日ついにその資格を受けて合格してきました。今回は試験の概要やどのように勉強したかをご紹介したいと思います。
オラクルJava認定資格制度
Javaのバージョン7から、従来の資格体系から変更になっています。
オラクルマスターのように、Bronze→Silver→Goldと段階制になりました。BronzeとSilverの認定は1つの試験を受ければ大丈夫ですが、GoldはSilverの認定を受けていないといけません。
また、従来のオラクル(サン)認定Javaプログラマを持っている場合は、「1Z0-805 Upgrade to Java SE 7 Programmer 試験」を受ければいきなりGoldの認定を受けられます。今回はこれを受験しました。
1Z0-805 Upgrade to Java SE 7 Programmer 試験概要
試験の内容は以下の通りです。勉強したので、いずれ個々に記事を書きたいと思ってます。
- 言語の拡張(ProjectCoin)
- 設計パターン
- データベースアプリケーションとJDBC
- 並列処理
- ローカライズ
- 新しいファイルIO(NIO2)
1. 言語の拡張(ProjectCoin)
ざっとあげると、以下のような内容です。
- switch文で文字列を指定可能に
- 2進数リテラルと整数リテラル区切り文字
- 例外のマルチキャッチと安全な再スロー
- ジェネリクスの省略記法(ダイアモンド演算子による型パラメータの省略)
- try-with-resource(リソースの自動クローズ)
どれも重要です。
自分が間違えたのは(たぶん)整数リテラルの区切り文字です。これは100万を表すときに「1000000」ではなく「1_000_000」のように書けるというものです。
ルールがいくつかあって、連続使用は可、リテラルの先頭/末尾は不可、0x等の進数を表す指定の直後は不可(8進数の先頭0の直後だけ可)、小数点の前後は不可です。
2.設計パターン
以下のパターンについて、「このパターンではどうあるべきか」や「このコードはどのパターンに該当するか」などが出題されます。
- シングルトンパターン
- コンポジションパターン
- ファクトリパターン
- DAOパターン
それぞれのパターンの特徴を覚えておく必要があります。
3. データベースアプリケーションとJDBC
JDBC4.0、4.1での新機能(ドライバ自動ロード、RowSet)や、JDBCを使ったコーディングに関する問題が出ます。
4.並列処理
スレッドに関するそもそもの知識、java.util.concurrentにある並列コレクション、アトミック変数、Executorsとスレッドプール、Fork/Joinフレームワーク等が出題されます。concurrentパッケージはほとんど使ったことないので1から勉強しました。
5.ローカライズ
LocaleとResourceBundle、NumberFormat/DateFormatに関する問題が出ます。この辺は従来からある仕組みですが、細かいレベルまで(Lcaleの生成方法など)は覚えてなくてつまずきました。
6.新しいファイルIO(NIO2)
従来のFileクラスの欠点を埋める新たなファイルI/Oのインタフェースが追加されています。Pathクラスの機能、FileVisitorを使ったディレクトリのトラバーサル処理、ファイルシステム固有の属性値の取得方法、ファイル監視方法といった物があります。ちょっとややこしく、従来のAPIと絡めて出題されたりするので、しっかり違いを理解していないといけません。
勉強方法
「徹底攻略 Upgrade to Java SE7 Programmer 問題集」をひたすら読みました。今のところ1Z0-805試験に対応した参考書はこれしかないと思います。(アップグレードじゃない試験のはいくつか出ています)
問題集なので、構成は先に問題があってその後に解説という風になっています。そのため、知らない分野は問題自体解けないので、最初から飛ばして解説を見ながら理解を進めました。
わかりにくい所はググるかAPIドキュメントを見たり、実際にコードを書いてみたりしました。
APIドキュメント(日本語)→ 概要 (Java Platform SE 7)
時間の捻出ですが、通勤時や帰宅後はやる気にならなかったので、昼休みを利用して進めました。参考書は自炊してタブレットに入れ、ポイントを手帳にまとめておき、家でEvernoteに書き起こすという流れでした(会社でEvernoteにアクセスできれば楽だったのですが、1ステップ踏むことで理解度が上がるのでこれはこれで良かったです)。
合格してみて
この手の試験は何度も受けていますが、「これは違うな」と思う選択肢を右クリックすると取り消し線を引いてチェックできる機能がありました。いつ頃からあったのでしょうか・・・。試験中に気づいてけっこう便利に使いました。
あと、従来は試験結果は終了と同時に出ていましたが、今回はすぐには分からず、別途オラクルの「CertView」というサイトに登録したメールアドレスに後で通知が来るという流れでした。
オラクルの試験を受ける方は、事前に登録しておくと良いと思います。
試験の方ですが、どれも重要な機能で勉強して損はないと思いました。特に前バージョンの資格を持っている方は、アップグレード試験で一気にGold認定になるので、ぜひ受けた方がいいです。新しい機能に関する知識の補完もできます。
そしてJavaは既にバージョン8がリリースされています。目玉のラムダ式を初めとして、色々な機能が追加されているようなので、勉強は終わりません・・・。頑張らなくてはいけませんね。
受験料ですが、27000円弱とかなりお高めです。個人で受ける場合、ピアソンVUEのサイトでクレジットカードや振込などで支払うのですが、お勧めは楽天にある「IT試験ドットコム」というお店でチケットを買うことです。値段は一緒ですが、楽天のポイントは貯まるので、買い回りキャンペーンなどを併用するとおトクです。自分は以前のスーパーセールの時に買いました。
今だと、「Java SE 7 Programmer II(1Z0-804-JPN)」および「Upgrade to Java SE 7 Programmer(1Z0-805-JPN)(日本語)」で利用できる、一度落ちても再度使える再受験可能チケットが売られています。チケットの有効期限は2015年2月28日とのことなので、受ける予定のある方はお気に入りに入れておいて、キャンペーン時に買うと良いですよ。
申込時は「-JPN」が付いている方を選びましょう。英語版もリストに出てくるのでご注意を(;´∀`)
それではみなさま良きガジェットライフを(´∀`)ノ