2026年2月7日土曜日

若手に聞かれて固まった。「JavaのLTS」って何だ?JDKの違いも整理してみた

若手が言っていた「JavaのLTS」って何?そしてJDKの違いも整理してみた

ある日、若手との会話でこんな言葉が出てきた。

「今は21がLTSですよね?」

……LTS?

聞いたことはある。でも説明できない。

正直、頭に浮かんだのはこれだった。

「LTEなら昔聞いたことがあるけど、そのこと?」

スマホの通信規格じゃない。それは違う。

でも、そのくらい曖昧だった。


① Javaのバージョンはどう変わったのか

私の感覚はこうだった。

Java5 → Java6 → Java7

数年おきに大きく変わる。

そんなペースだったはず。

しかしJava9以降、リリース方式が変わった。

半年ごとに新バージョンが出る。

9、10、11、12……

数字はどんどん進む。

気づけば25。

「そんなに出ているのか?」

正直、追えていなかった。


② LTSとは何か

LTSとは Long Term Support の略。

長期サポート版、という意味らしい。

半年ごとに出る通常版とは違い、
長期間サポートされる安定版 がLTSだ。

企業で採用されやすいのは、このLTS。

最近のLTSは次の通り。

  • Java8
  • Java11
  • Java17
  • Java21

なるほど。


だから若手は普通に「LTS」という言葉を使っていたのか。


③ OpenJDKとOracle JDKの違いは?

さらに混乱したのが、JDKの種類だ。

  • Oracle JDK
  • OpenJDK
  • Eclipse Temurin
  • Amazon Corretto

何が違うのか。

■ 機能は同じなのか?

同じバージョンであれば、基本的な機能は同じ。

Java21なら、言語仕様や標準APIは基本的に共通。

コードの動作そのものに大きな差はない。

■ 違いは何か?

主な違いは次の3つ。

  • ライセンス
  • サポート体制
  • 提供元

OpenJDKはオープンソースで基本無料。

Oracle JDKはOracleが提供するJDK。
現在は多くの場合無料で利用できるが、
企業向けには有料サポート契約がある。

つまり、機能差というより


サポートと契約の違いが本質らしい。


④ 企業ではどちらが使われているのか

最近の企業はどちらを使っているのか?

答えは――

混在している。

一時期、Oracle JDKのライセンス変更が話題になった。

それをきっかけに、OpenJDK系へ移行する企業が増えた。

クラウド環境では、

  • Amazon Corretto
  • Eclipse Temurin

などを採用する例も多い。

一方で、既存システムではOracle JDKが使われ続けていることもある。

現場は統一されているわけではなく、


移行中・混在状態というのが実情らしい。


⑤ なぜ今回はJava21でいくのか

最初は最新バージョンで始めようかとも思った。

しかし、やり直しの目的を考えた。

  • 現場で通用すること
  • 長く使われるバージョンであること
  • 情報が安定していること

それを考えると、


Java21(LTS)がちょうどいい。

いきなり最先端を追いかけるのではなく、
まずは足場を固める。

今回はJava21 + Oracle JDKで環境を作る。


まとめ

LTS。

聞いたことはあった。

でも、説明できなかった。

JDKの違いも、なんとなくで流していた。

知らないのが怖いのではない。

曖昧なままにしていることが怖い。

次回は、MacにJava21(Oracle JDK)をインストールする。

まずは動かす。




0 件のコメント:

コメントを投稿

【Java進化史 第4回】switch文と設計思想 ― 分岐の向こう側にあるもの

【Java進化史 第4回】switch文と設計思想 ― 分岐の向こう側にあるもの そういえば、最近あまりswitch文を書いていない。 書けなくなったわけではない。 むしろ、書こうと思えばすぐ書ける。 だが設計を考え始めると、 どこかで立ち止まる自分がいる。 ...