表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
1/5

Javaのバージョンについて

 Javaは2000年に日本でJava1.3(2000年リリース)の採用が増え、プログラマーの専門学校でJavaを教えるケースも増えました。

 VB6による社内アプリケーションをJavaによる社内Webアプリケーションに作り変えるケースが多いようでした。

 2000年から2008年まで景気が一時的に少し上がり、就職氷河期でしたが、契約社員か派遣社員の採用なら有りました。

 2年間または3年間Javaを学んだ専門学校生がプログラマーとして働き始める頃にJava1.4(2002年リリース)に成り正規表現が使えるように成りました。

 Java1.3のプロジェクトでは.jarファイルによる有名な正規表現の外部ライブラリを追加して正規表現を利用していました。



 【Java1.4(2002年リリース)の新機能】

 正規表現

 java.util.logging

 例外のコンストラクタに入れ子にする例外を指定可能化

 New I/O

 assert文

 ImageIO

 VolatileImage

 Preferences(Windowsの場合は設定をレジストリに保存する機能)

 など



 【Java5(2004年リリース)の新機能】

 static import

 例えばList<String> list = new ArrayList<String>();といったジェネリクス

 例えばfor(String string : list) {}といった拡張for文

 オートボクシング

 例えば@Overrideといったアノテーション

 StringBuilder

 java.util.concurrent

 enum

 例えばmethod(String...) {}といった可変長引数

 JMX

 など



 2004年には、複雑なJavaEEへの抗議と言える、Springフレームワーク1.0がリリースされました。



 【Java6(2006年リリース)の新機能】

 Desktop

 TrayIcon

 和暦

 Console

 など



 2007年にGroovy1.0がリリースされました。



 2008年9月にリーマンショックが起き、2009年3月末に派遣切りが起きてしまいました。



 2010年にOracle社がJavaを買収しました。



 【Java7(2011年リリース)の新機能】

 例えばList<String> list = new ArrayList<>();といったダイヤモンド演算子

 try with resources文

 java.nio.fileのPathとFilesといったNew I/O 2

 switch文でcase "文字列":が可能化

 例外の再throw可能化

 catch(例外1|例外2) {}

 数値を半角下線で区切る事が可能化

 0b二進数

 など



 【Java8(2014年リリース)の新機能】 ※Java8はLTS(長期サポート)

 ラムダ式 ※Groovyの書き方と異なる物を採用してしまった。

 Stream

 java.time

 インターフェースにstaticメソッドを記述可能化

 Stringにjoinメソッドが追加

 Optional

 など



 2014年にSpringフレームワークが肥大化したのでSpringBoot1.0がリリースされました。



 2015年にGroovyはApacheへ移管されてしまいました。



 【Java9(2017年9月リリース)の新機能】

 JShell

 try with resources文でtryの外で宣言可能化

 モジュール(Project Jigsaw)

 など


 ※Java9以降、半年ごとに(9月と3月に)バージョンが1つ上がるように成ってしまいました。



 【Java10の新機能】

 var

 など



 【Java11の新機能】 ※Java11はLTS(長期サポート)

 例えばjava Main.javaといった単一Javaファイルの即時実行が可能化

 など


 ※Java11からOracleJDKとOpenJDKの2つが提供されるように成りました。


 ※Java11からOracleJDKは商用利用は有料に成ってしまいました。


 ※OpenJDKのうち、OracleのOpenJDKだけLTS(長期サポート)が無いです。



 【Java12の新機能】

 ※省略



 【Java13の新機能】

 ※省略



 2020年2月にGroovy 3.0.0がリリースされてJava8に対応しました。



 【Java14の新機能】

 例えばcase 1, 2:

 など



 【Java15の新機能】

 例えば

 String string = """

 1行目

 2行目

 """;

 例えば"%d円".formatted(100)

 など



 【Java16の新機能】

 record

 など



 2021年7月プログラミング言語の人気ランキングでJavaは1位から3位へ転落してしまいました。



 【Java17(2021年9月リリース)の新機能】 ※Java17はLTS(長期サポート)

 ※省略



 【Java18(2022年3月リリース)の新機能】

 .javaファイルのデフォルトの文字コードがOSの文字コードからUTF-8へ変更

 jwebserverコマンド

 SimpleFileServerクラス



 【Java19(2022年9月リリース)の新機能】

 ※省略



 【Java20(2023年3月リリース)の新機能】

 ※省略



 【Java21(2023年9月リリース)の新機能】 ※Java21はLTS(長期サポート)

 例えばcase "文字":

 など



 【Java22(2024年3月リリース)の新機能】

 半角下線(_)の無名変数

 など



 【Java23(2024年9月リリース)の新機能】

 マークダウン記法のJavaDoc

 など



 2024年10月時点でLTS(長期サポート)なのはJava8、Java11、Java17、Java21です。ただし、OpenJDKのうちOracleのOpenJDKだけLTS(長期サポート)が無いです。


 Javaのうち、LTS(長期サポート)ではないバージョンは、半年間を過ぎるとセキュリティ アップデートが無く成ってしまうので、アンインストールしないとセキュリティホールに成る可能性が有ります。


 Javaを採用するなら、LTS(長期サポート)であるバージョンを採用する必要が有る、と言えます。


 2024年10月時点で、古いバージョンのJREを考慮するなら、Java8のJDKで開発するべきである、かもしれません。


 2025年6月時点で、Linux Mint22.1に、JavaはJDKもJREも標準でプリ インストールされていないようです。


 Linux Mintに「ソフトウェアマネージャー」というアプリケーションで「Openjdk-11-jdk」などのJava11以降のJDKをインストールすると、「端末」というアプリケーションで「java Main.java」といった感じで、単一Javaファイルの即時実行が可能と成り、Javaをスクリプト感覚で利用できます。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ