書籍概要

みんなのJava OpenJDKから始まる大変革期!

著者
発売日
更新日

概要

Javaには,その誕生以来,最大といってもよいほどの変革期が訪れています。JDK(Java Development Kit)がOracleからコミュニティを中心とした開発に移行したことをきっかけに,Java EEもJakarta EEに移行しました。さらにあらゆる言語のコードを高速に実行可能なGraalVMが登場し,クラウド・コンテナ・マイクロサービスを前提とした軽量フレームワークも続々と登場しています。本書では,そのような大きな変化の特徴を捉えて,Javaによる開発・運用をどのように進めていけばよいのか,現場の第一線で活躍しているエンジニアがわかりやすく解説します。Javaによる開発・運用に必須の知識が,満載の1冊です。

【ハッシュタグ】
『#minjava』で検索!

こんな方におすすめ

  • Javaの変化の特徴を捉えたい方
  • Javaの周辺知識を身に付けたい方
  • Javaの最新の動向を踏まえた,開発・運用の方法を知りたい方

補足情報

Twitterでのハッシュタグは以下になります。

#minjava

目次

第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

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2020年4月7日最終更新)

6章
P.167 上から3行目にある図

./gradlw shadowJar
./gradlew shadowJar

P.185 上から12行目

CotentTypeを指定しない
ContentTypeを指定しない

P.187 「Helidon MPでデータベースを扱う」という小見出しの下から6行目

HikariーCP
HikariCP

※長音記号なしです。

P.189 リスト18のリスト名称

GreetingResouceにクラスの呼び出しを追加
GreetingResourceにクラスの呼び出しを追加

(以下2020年3月30日更新)

1章
P.16 下から2行目

匿名クラスのスタティックイニシャライザ
匿名クラスのインスタンスイニシャライザ

(以下2020年3月25日更新)

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());


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カンファレンス

商品一覧