若手が言っていた「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 件のコメント:
コメントを投稿