概要
Javaには, その誕生以来, 最大といってもよいほどの変革期が訪れています。JDK(Java Development Kit)がOracleからコミュニティを中心とした開発に移行したことをきっかけに, Java EEもJakarta EEに移行しました。さらにあらゆる言語のコードを高速に実行可能なGraalVMが登場し, クラウド・ コンテナ・ マイクロサービスを前提とした軽量フレームワークも続々と登場しています。本書では, そのような大きな変化の特徴を捉えて, Javaによる開発・ 運用をどのように進めていけばよいのか, 現場の第一線で活躍しているエンジニアがわかりやすく解説します。Javaによる開発・ 運用に必須の知識が, 満載の1冊です。
【ハッシュタグ】
『#minjava』で検索!
こんな方におすすめ
Javaの変化の特徴を捉えたい方 Javaの周辺知識を身に付けたい方 Javaの最新の動向を踏まえた, 開発・ 運用の方法を知りたい方
補足情報
Twitterでのハッシュタグは以下になります。
#minjava/p>吉田真也(よしだしんや) LINE(株)にてメッセージングサービスのバックエンド, 特にHBaseに関連したDevOpsに従事。OpenJDKコミッタ。OpenJDKのProject LambdaやProject Kulla(JShell)への貢献を行ってきたほか, 勉強会などでJavaの新機能に関する登壇を行っている。
山田貴裕(やまだたかひろ) CTCテクノロジー(株)勤務。マルチベンダーのJavaベースでのミドルウェア技術サポートを中心に担当。元Oracle ACE(Middleware)で現在は日本GlassFishユーザー会監事。最近OpenJDKソムリエなどと呼ばれる。
蓮沼賢志(はすぬまけんじ) 日本GlassFishユーザー会共同代表。また, Payara Services Ltdのサービス・ エンジニアとしてPayaraServer/Payara Microのカスタマー・ サポートおよびコミュニティ・ サポート, Payara/Jakarta EE/MicroProfileのエバンジェリズムなどにも携わっている。
阪田浩一(さかたこういち) Javaの技術とコミュニティを牽引する存在として, 世界中から認定される「Javaチャンピオン」の1人であり, 同様の理由で米Oracle社からOracle Groundbreaker Ambassadorにも任命されている。関西地域のJavaユーザグループ「関西Javaエンジニアの会(関ジャバ)」の発起人で, 同グループの代表を10年以上続けた。Javaの中でも, JVMがとてつもなく好き。とにかくJVMに(詳しく)なりたいと思っている。著書に『SpringによるWebアプリケーションスーパーサンプル』『Seasar2によるWebアプリケーションスーパーサンプル』(ともにSBクリエイティブ)。
目次
第1章 Java 9からJava 14までに起こった変化から見る
これからのJava
1-1 Javaの変化
1-2 開発体制の変更と機能変更の概要
1-3 Java 9から14までの言語仕様や標準ライブラリの変更
1-4 Javaの未来を作るプロジェクトProject Valhalla
1-5 JVMの変更
1-6 ツールの追加・変更
第2章 JDKに関する疑問と不安解消!
JDKディストリビューション徹底解説
2-1 JDKディストリビューション時代の到来
2-2 OpenJDKとJDKディストリビューションの歴史
2-3 OpenJDKを開発しているのは誰か
2-4 最新JDKディストリビューション大全
2-5 JDKディストリビューションの選び方
2-6 OpenJDKへの接し方
第3章 Java EEからJakarta EE へ
新しいEnterprise Java
3-1 Jakarta EE Platformの概要
3-2 Java EE/Jakarta EEのアーキテクチャ
3-3 Jakarta EE 8のおもな機能
3-4 Jakarta EEのこれから
第4章 MicroProfileが拓く
Javaのマイクロサービス
4-1 MicroProfileとは?
4-2 MicroProfileによるマイクロサービス開発
第5章 ネイティブイメージ生成で注目!
Javaも他言語も高パフォーマンスGraalVM
5-1 あらゆる言語を実行できるVM!?
5-2 GraalVMを試してみよう
5-3 GraalVM JITコンパイラとTruffle
5-4 GraalVMの組み込みとネイティブイメージ
5-5 GraalVMの適用事例
5-6 GraalVMが照らすJavaの未来
第6章 マイクロサービス,クラウド,コンテナ対応
[新世代]軽量フレームワーク入門
6-1 軽量フレームワークが続々登場している理由
6-2 軽量で多機能なフルスタックフレームワークMicronaut
6-3 クラウドネイティブな高速フレームワークQuarkus
6-4 Oracleによる軽量・シンプルなフレームワークHelidon
サポート
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに, ご迷惑をおかけしたことを深くお詫び申し上げます。
6章
P.167 上から3行目にある図
誤
./gradlw shadowJar
正
./gradlew shadowJar
P.185 上から12行目
誤
CotentTypeを指定しない
正
ContentType を指定しない
P.187 「Helidon MPでデータベースを扱う」という小見出しの下から6行目
※長音記号なしです。
P.189 リスト18のリスト名称
誤
GreetingResouceにクラスの呼び出しを追加
正
GreetingResource にクラスの呼び出しを追加
1章
P.16 下から2行目
誤
匿名クラスのスタティックイニシャライザ
正
匿名クラスのインスタンスイニシャライザ
1章
P.12 上から9行目
誤
Project Valhallaについては、本章の1-3で
正
Project Valhallaについては、本章の1-4 で
P.13 上から5行目
誤
JEP(Java Enhancement Request)
正
JEP(JDK Enhancement Proposal )
P.21 リスト29の3行目
誤
case ASTSub sub -> sub.left + sub.right;
正
case ASTSub sub -> sub.left - sub.right;
P.22 リスト30の5行目
誤
case ASTSub(var left, var right) -> left + right;
正
case ASTSub(var left, var right) -> left - right;
P.24 リスト39の2行目
誤
正
new String[strs.size()] );
P.29 上から3段落目
誤
Java 9では、Appletを
正
Java 11 では、Appletを
P.39 下から3行目
誤
JDKを作成する
正
ランタイムイメージ を作成する
P.40 上から5段落目の3行目
誤
アプリケーションクラスのデータ共有(App CDS)
正
アプリケーションクラスのデータ共有(AppCDS )
※半角空きなしです。
P.42 上から2段落目
誤
AOT(Ahed Of Time)
正
AOT(Ahead Of Time)
P.43 表1 Javaで使えるガベージコレクタ
誤
正
※画像をクリックすると大きく表示できます
P.44 上から3行目
誤
Java 12から導入
正
Java 11 から導入
P.44 図11の3行目
誤
at Hello.main(Hello.java:8
正
at Hello.main(Hello.java:8)
P.47 下から8行目
誤
Oracle JDK 9からはJavaFXが外された
正
Oracle JDK 11 からはJavaFXが外された
P.50 広告部分の下から2行目
3章
P.88 上から9行目
誤
JavaOne 2019カンファレンス
正
JavaOne 2017 カンファレンス