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にプリインストールされているのは理にかなっている、と言える。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます