Javaで電子書籍(ePub)を作成しよう!

エリファス1810

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年には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年リリース)の新機能】


 ラムダ式(Groovyの書き方と異なる物を採用してしまった。)、Stream、java.time、インターフェースにstaticメソッドを記述可能化、Stringにjoinメソッドが追加、Optionalなど。



 Java8はLTS(長期サポート)。



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



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



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


 JShell、try with resources文でtryの外で宣言可能化、モジュール(Project Jigsaw)など。



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



 【Java10の新機能】


 varなど。



 【Java11の新機能】


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



 Java11はLTS(長期サポート)。



 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(長期サポート)。



 2022年1月時点で最新のバージョンはJava17です。



 2022年1月時点でLTS(長期サポート)なのはJava8、Java11、Java17。

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



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



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



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



 2022年1月時点でJava11の、多分Ubuntuの、OpenJDKのJREがLinux Mintにプリインストールされているのは理にかなっている、と言える。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る