みんなのJavaを読んで

f:id:mabushii_sign:20200617043108j:plain
みんなのJava

4月ごろにTwitterかなんかで存在を知って、読んだ方がいいというコメントもあって買って読んでみました。

自分は、仕事でずっとJavaを使っているけど、メインの業務では最近やっとJava7から8になったばかりでフレームワークもSeasar2ベースだったりだけど 2、3年前から、ちょっとしたツールとかアプリをSpring Boot、Java8 or 11を使ってちょこちょこ作ったりしてなんとかキャッチアップしようとしている状況です。 読んで思ったことを、ざっくり書き残しておきます。

第1章 Java9から14までに起こった変化から見るこれからのJava

Java9以降の言語仕様の変更はあまり知らなかった。 switch式、テキストブロックが特に便利だなと思った。 細かい動作仕様も半年ごとのバージョンでフィードバックを受けながら勧められているのも正式導入時にいまいちな機能にならない仕組みになってていいなと思う。

第2章 JDKに関する疑問と不安解消! JDKディストリビューション徹底解説

JDKのライフサイクルの変更に伴う混乱から、現状を整理されていて分かりやすかった。

読んだ時にこんなツイートをしている。記事書いた人からもコメントをもらった。 Azul ZuluやAdopt OpenJDKもサポートを早い段階から表明してたけど、Amazon Correttoが身近な感じがしてこれを選択するのが多くなったと思う。

第3章 Java EEからJakarta EEへ 新しいEnterprise Java

ツイートの通りな状況。。

第4章 MicroProfileが拓く Javaのマイクロサービス

MicroProfileはいろいろ仕様面は整理されてて、いい機能もあるけど、今作るのもAPIだけじゃなくて画面も作ったりするし、 Spring Bootもまだまだ知らないことを多いし、まだ活用する場面がないかな。

第5章 ネイティブイメージ生成で注目! Javaも多言語も高パフォーマンスGraalVM

GraalVMは、Javaのイベントでもかなり話題になるけど、ネイティブイメージ生成が中心だったけど背景とか特徴を知れたのがよかった。 もう少し成熟してきたら試してみたい。

第6章 マイクロサービス、クラウド、コンテナ対応 [新世代]軽量フレームワーク入門

最初に「最近のWebフレームワークに求められるもの」として、 * 軽量・高速起動 * 可搬性(Portability) * 観測性(Observability) * HTTPクライアント * 非同期処理 * クラウドサービスへの対応 * コンテナへの対応 * Native Imageへの対応 * サーバサイドKotlin と登場してきた背景や全体の特徴を整理してくれてるのがよかった。

紹介されたMicronaut, Quarkus, helidonの中だと、Micronautがいいなと思った。

全体通して

Javaのここ数年の変化や今の状況を、1冊で把握できて知識をアップデート出来ました。 なので、Javaを使ってる人は読んでおいた方がいい本だと思います。