====== Java ====== --- //[[http://www.y2sunlight.com|y2sunlight]] 2021-02-20// Javaを使ったオープンソース・ソフトウエアは数多く存在し、PHPを取り巻く開発環境を揃える上でもJavaは無くてはならない存在です。 Javaの歴史は、1990年12月にSun Microsystems社が、新しいプログラミング言語として開発を開始しましたことから始まります。Javaという名称は、プログラミング言語の名前であると共に、ソフトウェアプラットフォームの名前でもあります。本編で興味のあるのは、プログラミング言語ではなく、ソフトウェアプラットフォームの方です。 Java のプログラム開発環境一式のことを、''JDK''(Java Development Kit) と呼びます。JDKには、Javaの実行環境であるJava仮想マシン(''JVM'')の他に、コンパイラやデバッガなども含まれ、JDK をインストールすることで Java を使ったアプリケーション開発が可能になります。また、JDKは、''Java SE''(Java Platform, Standard Edition)と呼ばれる Java の API 仕様に基づいて実装されています。両者は仕様と実装の関係にあり、同じバージョン番号が付けられています。 1996年1月、JDK(Java Development Kit)1.0 がリリースされました。そして、''JDK6'' が2006年12月にリリースされた後、Sun Microsystems社は2010年にOracle社に吸収合併され、Javaの版権もOracle社に移行されました。Oracle社は、''JDK7'' を2011年7月に、''JDK8'' を2014年3月にリリースしています。 2017年9月にリリースされた ''JDK9'' からはリリースが毎年3月と9月の定期リリース制に変更され、従来からの長期間サポート制度(LTS)は廃止され、サポートは原則的に次回バージョンまでとなりました。そして、2018年9月にリリースされた''JDK11''からは、有償契約LTS制度が発表されました。この有償契約LTS制度の対象となっているのは、''JDK8'' と ''JDK11'' です。この制度に従い、Oracle JDKの商用利用のサポートについては、Oracle社と有償サポート契約を結ぶ必要があります。詳しくは以下をご覧ください: * [[https://www.oracle.com/jp/technical-resources/article/java/ja-topics/jdk-release-model.html|JDKの新しいリリース・モデル および 提供ライセンスについて]] --- Oracle社 但し、開発、テスト、プロトタイプ作成、及びデモンストレーションを目的とした非商用、非本番利用のみの利用に関してはこれまで通り無償でLTSリリースが利用できます。(Oracle社は、こられの無償でLTSリリースを使える対象を、有償で使用できる「Customers」に対して「ISVs」と呼んでいます。ISV(independent software vendor): パッケージソフトウェアの開発・販売会社の総称である) ダウンロードサイト: * [[https://www.oracle.com/java/technologies/javase-downloads.html|Java SE Downloads]] --- Oracle社 また、Oracle JDKと同等な機能の提供を無償で受けたい場合は、後述の Oracle OpenJDKが利用できますが、Oracle OpenJDK にはLTSリリースは存在しません。 このように、2018年9月にOracle社が発表した有償契約LTS制度は大きな話題となりました。「有償化」にだけに目を向けると、決して歓迎できない印象も受けますが、見方を変えると、無償提供のOpen JDKに、有償のLTS(長期間サポート)が選択できるようになっただけと考えることもできます。Oracle的に言うと、Javaの「有償化」ではなくて「オープン化」だそうです。いずれにしても Java 利用者としては、選択の時代が来たことに間違いはないと思います。 \\ ===== OpenJDK ===== OpenJDK(Open Java Development Kit) は、2006年に Sun Microsystems社が始めた Java SEの仕様に基づくJavaのオープンソース実装です。[[https://ja.wikipedia.org/wiki/OpenJDK|OpenJDK]] は Oracle社をはじめ、他のグループからもリリースされており、Oracle JDKの商用利用の有償化に伴い注目される存在になりました。 ==== Oracle OpenJDK ==== Oracle社からリリースされている OpenJDK は Oracle OpenJDK と呼ばれています。JKD11からはOracle OpenJDKは 有償サポートの Oracle JDK と機能的にはほぼ同一のものになっています。但し、そのサポート期間は有償サポートの Oracke JDK とは異なり次のバージョンの公開までです。従って、使い続けるには、こまめにバージョンアップを続ける必要があります。(セキュリティ上、推奨できることではありませんが、バージョンアップしなくても使う事はできます)。現在、Oracle OpenJDK は Oracle JDK と同じく半年毎にバージョンアップされています。 ダウンロードサイト: * [[http://jdk.java.net/|Oracle OpenJDK]] ==== Oracle社以外の OpenJDK ==== Oracle社以外の OpenJDK の代表的なものを以下に2つあげます。 * Adopt OpenJDK * Amazon Corretto Adopt OpenJDK は、コミュニティ主導で運営されているJDKのビルドファームで、IBMやAzul Systemsなどベンダーからサポートされています。主要なOS向けのJDK8(LTS)、JDK11(LTS) 及び最新版のJDK15がリリースされています。尚、2020年6月 Adopt OpenJDKプロジェクトは[[https://ja.wikipedia.org/wiki/Eclipse_Foundation|Eclipse Fundation]] へ合流することが発表されています。 Amazon Correttoは、AmazonのAWS上で使用できるJDK8(LTS)、JDK11(LTS) 及び最新版のJDK15がリリースされています。また、Linux、Windows、macOSなどのサポートも行われています。 ダウンロードサイト: * https://adoptopenjdk.net --- Adopt OpenJDK * https://aws.amazon.com/jp/corretto/ --- Amazon Corretto \\ ===== 目次 ===== * [[java:oracle-open-jdk15|Oracle Open JDK15のインストール]] \\