Javaディストリビューションのトップ6を簡単に紹介する: オラクル、OpenJDK、Adoptium、Zulu、Corretto、Liberica
Javaは世に出て以来、主流のプログラミング言語として一度も追い落とされたことがない。 Groovy、Scala、Kotlinといった言語がJavaを追い落とそうとしている今でも、Javaは侮れない存在だ。 これほど長い間、多くのプログラムを書いてきた言語にしては、Javaのディストリビューションは数多く出回っている。 AmazonやMicrosoftのような大手テック企業でさえ、独自のJavaディストリビューションを持っている。
適切なJavaディストリビューションの選択は、主にコストの問題である。 ライセンスは、そもそもディストリビューションが作られる主な理由です。 また、プラットフォームによっては、パフォーマンスの要因にもなります。 そこでこの記事では、正しい選択ができるよう、トップクラスのJavaディストリビューションをいくつか紹介しよう。
1. オラクルJDK
Javaの執事 / The steward of Java
Oracle JDK は、Java の現在と未来を担う Oracle 社の公式 Java ディストリビューションです。 英語圏では、オラクルはJavaの執事と呼ばれていますが、これはオラクルがサン・マイクロシステムズを買収したときにJavaとJavaエコシステムを管理する権利を獲得したからです。
公式ディストリビューションであるOracle JDKは、すべてのJavaディストリビューションの中で、特にエンタープライズクラスのアプリケーション向けに最も最適化されていると考えられている。 また、継続的なアップデート、セキュリティパッチ、テクニカルサポートが付属している。ただし、商用目的で使用したい場合は、その分の料金を支払う必要がある。
Javaはオラクルを代表する製品の1つであるため、強力なJavaエコシステムはオラクルの将来にとって不可欠である。 だからこそ、オラクルはOpenJDKの最大の支援者なのです。 Oracle JDKは、OpenJDKをさらに最適化し、便利な機能を強化したディストリビューションです。
2. OpenJDK
すべてのJavaディストリビューションの基盤
これは、Javaの主要なコミュニティ版オープンソースディストリビューションです。 どのような目的でも自由に使うことができる。 オラクルはサンからJavaプラットフォームとOpenJDKを買収した、 IBM、MS、Red Hat、その他の技術大手はOpenJDKをサポートしており、最も重要なことは、世界中の多くの開発者によってメンテナンスされていることです。
先に述べたように、OpenJDKはOracle JDKを含むほとんどすべてのJavaディストリビューションの基盤となっている。 だから信頼して使うことができる。 ただし、LTSバージョンでない限り、サポートは保証されませんし、パフォーマンス的には常にOracle JDKより劣るので、サービスを開発する際には考慮する必要があります。
3. Adoptium (別名 AdoptOpenJDK)
使いやすいOpenJDK
Adoptium は以前は AdoptOpenJDK として知られていました。 Adoptium は、かつてオープンソース IDE の代名詞であった Eclipse Foundation によって先導され、IBM、MS、Azul Systems などの主要なテクノロジー企業によってサポートされているオープンソース・ディストリビューションです。
Adoptiumの目標は、OpenJDKを使いやすくすることです。 そのため、以下のようなOpenJDKにはないものをいくつかサポートしている。
- ビルド済みバイナリ: ビルド済みバイナリを提供し、OpenJDKを独自のプラットフォームでビルドする手間を省きます。
- LTS: 幅広いリリースのアップデート、セキュリティパッチ、バグフィックスなどを保証します。
- HotspotやEclipse OpenJ9などのJVM: より多くの種類のJVMをサポートし、より多くの技術的選択肢を提供します。
ただし、商用利用のためのテクニカル・サポートは提供されないので、本番で使用する際には注意が必要だ。
4. Azul Zulu
テクニカル・サポート付きビジネス・ディストリビューション
Azul Systems の Zulu も OpenJDK を中心に構築されたディストリビューションです。 Zuluもまた、どのような目的にも自由に使うことができます。 Adoptiumが主にオープンソース開発に選ばれるディストリビューションだとすれば、Zuluは多くの企業に選ばれるディストリビューションです。 その理由のひとつは、商用利用のための正式な技術サポートが提供されていることだ。
企業がオープンソースのJavaディストリビューションではなくOracle JDKを選ぶ大きな理由は、技術的な問題に対する迅速かつ正式な対応です。 Zuluはこれを強みとしている。 また、強力な最適化機能を持ち、ほとんどのプラットフォームとオペレーティングシステムで確実に動作する。
欠点としては、他のディストリビューションに比べてコミュニティ主導型ではないため、Javaコミュニティのニーズに迅速に対応できない可能性がある。
5. Amazon Corretto
AWSインフラに特化
CorrettoはAmazonが管理するOpenJDKベースのオープンソースディストリビューションです。 世界最大のトランザクションを処理するAWSを含むAmazonのインフラは、Correttoをベースに構築されていると言われている。 そのため、パフォーマンスとセキュリティに重点を置いたディストリビューションであり、LTSリリースによる継続的デリバリーをサポートしている。
Correttoの特徴は、長所でもあり短所でもある。 独自のサービスであるAWSでの使用に最適化されている。 AWSのサービスを利用しているのであれば、Correttoを最初の選択肢にすべきだろう。 そうでない場合は、他のディストリビューションと比較してパフォーマンスをテストする必要があるかもしれません。
同様に、クラウドサービスとしてAzureを使っているのであれば、そのプラットフォーム向けに最適化されているMicrosoft Build of OpenJDK™ (opens in a new tab)を最初に検討した方がよいでしょう。
6. Liberica JDKを検討する
クラウドベースのJavaサービスのために検討すべきディストリビューション
Liberica JDK は Bell Soft のディストリビューションです。 今日お話しする6つのディストリビューションの中では最も知られていませんが、ある特定のユーザーには最も人気のあるディストリビューションの1つでもあります。
手始めに、Bell SoftはクラウドベースのJava環境に重点を置いており、デプロイ時間の速さ、必要なメモリやハードウェアの少なさを売りにしている。 また、Javaマイクロサービスに特化したAlphaquita Linuxなど、関連製品も多数ある。
基本的に無料で利用でき、オープンソースで営利目的であり、公式のテクニカルサポートもある。
7. 6 ディストリビューションの概要
すべてのJavaディストリビューションの根幹はOpenJDKです。 そしてディストリビューションは、開発者の生活を楽にするために、OpenJDKの上にさまざまな機能を追加してきました。 このおかげで、私たちはサービスの特性に合わせて最適なディストリビューションを選ぶことができます。
ディストリビューションによって、さまざまなプラットフォームに最適化されていたり、特定のプラットフォームに高度に特化されていたりします。 また、商用利用のための技術サポートを提供しているかどうかも異なります。 最後になりますが、サービスのバージョンを最新に保っているかどうかも重要です。
7.1. ディストリビューションの選択基準
この投稿で見てきたことに基づけば、もしあなたが大規模な組織であれば、Oracle JDKから始めることができます、 もし余裕があれば、Zulu、Corretto、MS、またはLibericaを検討してください。 オープンソースのプロジェクトでは、Adoptiumが最初の選択肢になると思います。
