Java 17と21の違いは?サポート期限を比較
ここで比べているのは性能ではなくいつまで使えるかです。 2026年9月15日時点の情報です。
21 に上げると
使える期間が
792 日 延びます
2027年10月 → 2029年12月
Java 17は2027年10月まで、Java 21は2029年12月までサポートされます。2026年9月15日時点で、Java 17はあと約1年2か月、Java 21はあと約3年4か月です。
並べて比べる
| 項目 | Java 17 | Java 21 |
|---|---|---|
| リリース | 2021年9月 | 2023年9月 |
| サポート終了 | 2027年10月 | 2029年12月 |
| 残り | あと約1年2か月 | あと約3年4か月 |
| 現在の状態 | 通常サポート中 | 通常サポート中 |
| LTS | はい | はい |
期間の重なり
通常サポート セキュリティサポート 延長サポート
どちらを選ぶか
新しく作るなら
Java 21を選んでください。移行にかかる手間は1つ上げても数世代上げても大きくは変わらないため、 使える期間が長いほうが結果的に得になります。
いまJava 17を運用しているなら
21に上げると792日ぶん延びます。 2027年10月までに移行を終える必要があるので、 そこから逆算して計画を立ててください。
情報の出典
それぞれの詳細
よくある質問
Java 17とJava 21、どちらが長く使えますか?
Java 21です。Java 17は2027年10月まで、Java 21は2029年12月までで、792日の差があります。
Java 17からJava 21に上げると、使える期間はどう変わりますか?
792日ぶん延びます。(2027年10月 → 2029年12月)
Java 17の期限である2027年10月から逆算して、移行の計画を立ててください。
LTS かどうかで、使える期間は変わりますか?
LTS は Long Term Support の略で、通常より長い期間サポートが提供されるバージョンのことです。
この2つはどちらも LTS です。LTS かどうかは、同じ製品の中での提供期間の長さを表しています。製品をまたいだ長さの保証ではありません。
Java 17のサポートが終了するとどうなりますか?
プログラムが動かなくなるわけではありません。そのまま動作は続きます。
変わるのは「新しい脆弱性が見つかったときに、公式の修正が提供されるかどうか」です。
インターネットに公開しているサーバーの場合、修正が出ないことは、攻撃を受けたときに塞ぐ手段が公式からは提供されないことを意味します。外部と通信しない環境であれば、影響の度合いは変わります。