Java Gold参考書の黒本についてご紹介【合格を目指すならこの本】
Java Goldの参考書についてのお話-Part2です。
今回ご紹介するのは『徹底攻略Java SE 11 Gold問題集』、通称「黒本」です。この問題集は試験対策として非常に有効で合格を目指すなら必須な本だと思います。
>こちらもあわせてどうぞ
Java Goldに合格したときの勉強についておさらい
- 黒本について
- この本で勉強した感想
それではよろしくお願いします。
Java試験に関する参考書の一つで、合格を目指す多くの人が手に取るのがこの本だと思います(たぶん)。
ご紹介するのはこの本。
他には「紫本」「白本」と呼ばれるJava Silver試験対策の問題集があります。
筆者は試験勉強では紫本と黒本を使用しました。
本の構成
表にしてみました。
問題数と解説のページ数をまとめます。
章 | 内容 | 問題数 | 解説ページ数 |
---|---|---|---|
0 | はじめに | - | - |
1 | クラスとインターフェース | 16問 | 36ページ |
2 | 関数型インターフェースとラムダ式 | 14問 | 28ページ |
3 | 並列処理 | 17問 | 51ページ |
4 | ストリームAPI | 28問 | 64ページ |
5 | 入出力 | 18問 | 52ページ |
6 | JDBCによるデータベース連携 | 14問 | 28ページ |
7 | 汎用とコレクション | 17問 | 38ページ |
8 | アノテーション | 7問 | 22ページ |
9 | 例外とアサーション | 11問 | 20ページ |
10 | ローカライズ | 17問 | 28ページ |
11 | モジュール・システム | 9問 | 30ページ |
12 | Java SEアプリケーションにおけるセキュアコーディング | 13問 | 30ページ |
13 | 総仕上げ問題 | 80問 | 34ページ |
まず注目すべきは解説ページの多さです。一問あたり2ページくらいを使って解説されているような感じです。サンプルコードも書いてあったりするので実機で実際に動作を確認することもできます。これは嬉しいと思います。
また、Silverの内容と比べると難易度が格段に上がります。内容が濃いです。なので問題は解きごたえがあります。
各章について
各章の内容について、取り上げられている領域を書き出します。
0. はじめに
本書の冒頭部分です。
出題範囲や申し込み方法といったJava SE11認定資格の概要、本書の使い方、見出し、が記載されています。
クラスとインターフェース(16問)
- ネストしたクラス
- インナークラス
- staticインナークラス
- ローカルクラス
- 匿名クラス
- インターフェースとデフォルトメソッド
- Enum(列挙型)
関数型インターフェースとラムダ式(14問)
- java.util.functionパッケージの関数型インターフェース
- 関数型インターフェースの定義と記述
- ラムダ式の利用
並列処理(17問)
- RunnableインターフェースとThreadクラスを使った並行処理
- スレッドプール、Executorフレームワーク
- ExecutorServiceインターフェース
- ScheduledExecutorServiceインターフェース
- Executorsクラス
- Futureインターフェース
- Callableインターフェース
- CyclicBarrierクラス
- syncronizedキーワード
- 原子性、java.util.concurrent.atomicパッケージのクラス
- スレッドセーフ、CopyOnWriteArrayListクラス
- ReentrantLockクラス
ストリームAPI(28問)
- java.util.Optionalクラス
- ストリームAPI
- ストリーム・パイプラインと中間操作、終端操作
- java.util.stream.BaseStreamとサブインターフェース
- 並列ストリーム
- java.util.Cllectionインターフェース
- リダクション操作
- java.util.stream.Collectorインターフェース
- java.util.stream.Collectorsクラス
入出力(18問)
- 入出力ストリーム
- java.ioパッケージのクラス
- NIO.2
- java.nio.file.Pathインターフェース
- java.nio.file.Filesクラス
- シリアライズ
JDBCによるデータベース連携(14問)
- JDBCの概要
- 接続文字列
- データベースの接続と切断
- データの検索・挿入・更新・削除を行うSQL文の実行
- DriverManagerクラス
- PreparedStatementインターフェース
- CallableStatementインターフェース
- ResultSetインターフェース
- ストアドプロシージャ
汎用とコレクション(17問)
- オートボクシングとラッパークラス
- ジェネリクスの利用
- 共変性と非変性
- 非境界ワイルドカード
- 上限境界ワイルドカードと下限境界ワイルドカード
- List,Queue,Map,Setの特徴
- java.lang.Comparableインターフェース、compareToメソッド
- java.util.Comparatorインターフェース、compareメソッド
アノテーション(7問)
- マーカーインターフェース
- アノテーションの定義とアノテーションに関する情報の取得
- 注釈パラメータ
- メタ・アノテーション
- @Retentionアノテーションと保持期間
- @Overrideアノテーション
- @Deprecatedアノテーション
- @SuppressWarningsアノテーション
例外とアサーション(11問)
- マルチキャッチ
- try-with-resources
- 抑制された例外
- アサーション
ローカライズ(17問)
- java.util.Localクラス
- ロケール情報の取得と構築
- java.util.Propertiesクラス
- プロパティファイル
- native2ascii
- 文字コード
- java.nio.charset.Charsetクラス
- java.util.ResourceBundleクラス
- 日付、数値のフォーマット(書式化)
モジュール・システム(9問)
- モジュールの概要
- リフレクション
- モジュール定義ファイルとモジュール・ディレクティブ
- 名前付きモジュール、自動モジュール、無名モジュール
- マニフェストファイル
- ボトムアップ移行とトップダウン移行
- モジュールパス
- java.util.ServiceLoaderクラスとSPI
- 依存関係
- jdeps
Java SEアプリケーションにおけるセキュアコーディング(13問)
- セキュアコーディングの重要な10項目
- 入力検証とUnicode正規化
- 整数オーバーフロー攻撃と対策
- 機密情報の扱い
- DoS攻撃と対策
- セキュリティマネージャによるセキュリティ対策
- セキュリティポリシーの設定
- 不変オブジェクトによるセキュリティ対策
- SQLインジェクション対策
総仕上げ問題(80問)
全ての範囲から出題されます。これが実際の試験の問題とかなり近いです。
各章の問題が解けるようになってから挑んでも全然ダメだった、ということも割とあると思います。
学習難易度
筆者の感想としては、学習難易度はやや難でした。ですがJava Silverよりも勉強してて面白かったです。「Javaの勉強をしてる」という実感ができる内容でした。
基本情報技術者試験 < Java Gold <応用情報技術者試験
IPAの試験と比較するとこんな感じかなー
あと、ストリームの考え方と使い方は絶対に押さえておくべきです。いろんな問題で当たり前のようにストリームが書かれているのでこれがわからないと合格は厳しくなるんじゃないかなと思います。
勉強時間
勉強時間は約100時間ほどで、期間は3カ月でした。
紫本と黒本を両方使っていたので2冊あわせた勉強時間です。
勉強方法は
1.各章の内容を読み込む(紫本)
2.章末問題を解く(紫本)
3.黒本の該当する章の問題を解く(黒本)
4.解説を読み込む(黒本)
5.全問正解するまで繰り返す(黒本)
6.総仕上げ問題を解く(黒本)
7.解説を読み込む(黒本)
8.全問正解するまで繰り返す(黒本)
この1~8を繰り返しました。
理解度の段階を表現すると
レベル1:答えを丸暗記
レベル2:解説を覚えてる
レベル3:なぜその答えになるのか説明ができる
こんなところかな。Silverでは「答えを丸暗記」でも合格できる可能性は十分にあると思いますが、Goldではレベル2くらいの状態にしておかないと合格は厳しいかなという印象です。最低限、黒本の内容をすべて押さえてくくらいにしておきたいところです。
参考までに。
当書を使った感想
筆者の感想をまとめます。
いいね
・問題が難しくて解きごたえがある
・各問に対する解説が丁寧でわかりやすい
・サンプルコードがある
・この問題集と似たような問題が実際の試験で何問か出題されていた
うーん
・初めて問題を解いたときに不正解だらけで悔しかった
・時間がかかる
・試験範囲で触れられていない領域も一部ある(そこは紫本で補完する)
まとめ
以上、Java Gold黒本についてでした。Silverと比べて問題の難易度がぐっと上がります。実際の試験問題にかなり近いので、合格を目指すならこの本は必須だと思います。
この黒本をメインで使って紫本を補助として使うのが効果的かなと思います。そうすれば理解が深まるはず。筆者は紫本と黒本を併用して問題が「なぜその答えになるのか説明ができる」状態にしてから試験に臨みました。
そしてこの資格もSilverと同様に独学で合格可能です。ただ、合格することだけを目的にするのではなく、学んだ知識を自分で扱えるような状態にすることが大事なのかなと思っています。Silverと比較しても転職でも役立つ場面は少しはあるかなという印象です。
非常に勉強になるのでSilverを取得したらGoldにも挑戦することをおススメします。
それではこれで終わります。