Appleシリコン搭載Mac用のJavaをAzulが公開。マイクロソフトと協力して開発
商用Javaサポートなどを提供しているAzul Systemsは、Appleシリコンを搭載したMac対応のOpenJDKディストリビューション「Zulu Builds of OpenJDK」を公開しました。
#AppleSilicon #MacOS bits for Zulu builds of #OpenJDK 8, 11, 13, and 16-EA are all up and live now. https://t.co/6UFzxlDFxh #M1 #Java
— Azul (@AzulSystems) November 20, 2020
対応するJavaのバージョンはJava 8(LTS)、Java 11(LTS)、Java 13(MTS:Medium Term Support)、そして来春に正式版がリリース予定のJava 16 Early Access版です(Java 15も対応予定とのこと)。
「Zulu Builds of OpenJDK」は無料で利用可能なOpenJDKディストリビューションです。利用条件に制限は設けられていないため商用利用も可能となっています。
マイクロソフトとAzulが協力してAppleシリコン対応版を開発
JavaをAppleシリコンに対応させる作業は、OpenJDKの「JEP 391: macOS/AArch64 Port」として進められており、特にマイクロソフトとAzulが協力して取り組んでいることが示されていました。
Our work on #JEP391, and our partnership with @AzulSystems is showing great progress.
— Java at Microsoft (@JavaAtMicrosoft) November 12, 2020
Following the #AppleEvent, we are pleased to share an EA build of #OpenJDK Port for #MacOS on #AppleSilicon.#Javahttps://t.co/bOD2FLnyhS
なぜマイクロソフトがAppleシリコン搭載Mac用のJavaの開発に取り組んでいたのかというと理由は2つ考えられます。
1つは、Azulとマイクロソフトはもともと協力関係にあったためです。マイクロソフトは以前からMicrosoft Azure用のOpenJDKとしてAzulのOpenJDKを採用するなど、Java分野においてAzulとの協力関係を築いていました。
参考:Microsoft Azure上での実行目的ならJavaの長期サポート(LTS)を無料提供、MacやWindowsでの開発用途もOK。マイクロソフトとAzul Systemsが提携で
そしてもう1つは、ARMプロセッサに対応したJavaとして、すでにWindows/AArch64(JEP 388)とLinux/AArch64(JEP 237)があり、Appleシリコン搭載MacへのJava対応はこれらのコード、特にWindows/AArch64をベースに行われたためです。
「JEP 391: macOS/AArch64 Port」の「Dependencies」(依存関係)の項目には、次のようにWindows/AArch64とのコードの共有や依存関係が記されています。
The macOS/AArch64 port and the Windows/AArch64 port (JEP 388) will likely share some code. Some parts of this JEP will depend upon the integration of JEP 388, while other parts can be developed in parallel.
macOS/AArch64ポートとWindows/AArch64ポート(JEP 388)は、いくつかのコードを共有することになるでしょう。このJEPのいくつかの部分はJEP 388との統合に依存しますが、他の部分は並行して開発することができるでしょう。
果たして、Appleシリコン上でのJavaはインテルプロセッサと比べてどのくらい速いのか(あるいは遅いのか)、ベンチマークが気になりますね。
あわせて読みたい
AWS、DynamoDBをSQLで操作可能に。SQL互換のクエリ言語「PartiQL」対応を発表
≪前の記事
Google、WebブラウザでAnthosの開発環境を試せる「Anthos Developer Sandbox」無償公開