長い前置き
最後に Java の試験に挑戦したのは何時だっただろう?
ふと思い返してみると12年前でした
2010年に学生→サラリーマンとクラスチェンジを果たしてから約1年
それまではVC+の業務をやってましたが、現場が変わり扱う言語がJavaに変わったのをきっかけに
基礎知識を身に着けるため資格試験に挑んだのでした
SJC→OCJに変わったのは2013年ぐらいなので、そこから見ても10年以上経過しているんですね
Java8が主流になり2016年ぐらいにJava Goldの制度が登場しました
そこで資格のアップグレードをするかと紫本を買ったんですが…買って満足して今に至ってしまったわけです
OpenJDKの中でもEOLが視野に入ってきたJava11、いまはJava17、21辺りを採用している企業も増える中、SJC-PからJava Goldにアップグレードできるのもそろそろ限界かもしれないと思い立って動き出しました(今更感)
勉強方法
まずはじめに
同じようにアップグレードしている方の記事を参考にしました
もうこの記事だけでいいんじゃない?ってぐらいしっかり書かれてます
私の学習方法
Java SE11 Gold の黒本
解説を読みつつ最後まで1週間ほど実施しました
一通りの基礎知識は身に着く印象です
ただこれだけ勉強して試験に挑むと、ModuleもLambdaもStreamも単純な問題しかないので、初見で見るメソッドを使った問題や、試験問題の複雑さに苦戦すると思います
Udemy
- Working with Lambda expressions
- Working with Streams
- Java Platform Module System
- Java I/O API
アップグレード試験だったので試験範囲はかなり絞って勉強しました
この中でModuleについてはかなり役立ちました
黒本でうーん…って感じていたものが、何となくわかったマンになれました
LambdaとStreamsについても、試験よりも難しい問題が多く試験は結構楽でした
こちらの問題は仕事終わりに、酒を飲みながら2週間ほど続けました
試験結果と試験傾向
試験結果は、解き終わった時の感覚と近しい点数でした
・31問はたぶん自信半分ぐらい
・49問はたぶん正解しているだろう
50問取れれば合格できる試験で、60問ぐらいは正解できたかな?と思ってます
試験の時間配分は参考までですが以下のような感じです
- 60分で一通り問題を解き終える
- 40分で後で見直す問題を見なおす
- 40分で一通り見なおす
久々のJava試験ですが、記憶があいまいな部分を突いてくる感じ懐かしさを感じました
ただ日本語がかなりしっかりしていて、読んでて苦にならない点は進歩を感じました
試験傾向としては、以下のような感じで1~4の比率が多く、5、6が続いて試験問題で出てくる感じでした
黒本に型推論について問題はほとんどないので、どういうケースで使えて、どういうケースで使えないかはある程度調べておいた方が良いかもしれません
- Java9で登場したモジュールシステム
- ラムダ
- 関数型インターフェース
- ストリーム
- nio
- 型推論(var)
最後に
Java SE17 Goldの日本語版も、Java11がEOLになるあたりで登場するかもしれませんが…
Java21のEOL辺りで、またJava試験のアップグレードしようと思います