BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Javaの未来

Javaの未来

原文(投稿日:2022/05/16)へのリンク

新たなプラットフォームの出現によってクラウドネイティブというステージを失ったJavaは今、ルネッサンスの時を迎えているようだ。Javaエコシステムには数多くのプロジェクトがあって、Javaをよりクラウドフレンドリな存在にすべく、言語レベルのサポートの提供やランタイムの改善に取り組んでおり、イノベーションに向かう急行路線のような様相を呈している。Red Hatエンジニアリング担当副社長のMark Little氏は、Devoxx UKで行った講演の中で、これらの活動をクローズアップした。

Tiobe Indexの順位と、GitHubで使用されているプログラミング言語という観点の2面においてJavaは、長い年月を経た今も表彰台の上に留まるのみならず、エンタープライズソフトウェアではいまだデファクト言語の地位に君臨する。リリースケイデンスの速さが、変更の取り入れを容易にするとともに、開発者の生産性向上を可能にしているのだ。ソフトウェア業界の大手企業(Amazon、Google、IBM、Microsoft、Netflix、Oracle、Pivotal、Red Hatなど)と、大規模なオープンソフトウェア財団(Eclipse FoundationApache Software Foundation)からの支援を受ける中、JVMエコシステムの変革は3つの主要領域に集中している。

クラウドネイティブに対応するJVM技術

サーバレス領域でのJavaはわずか6.1パーセントを占めるに過ぎない(チャンピオンは62.9パーセントのnode.jsが獲得している)存在だが、Kubernetesネイティブな領域においては、Quarkusなどのアプリケーションに対する400ミリ秒以内のスタートアップ時間や、メモリとディスク上のフットプリントの削減が望まれている。意図に応じて、OpenJDKのホットスポットあるいはGraalVMでの実行を選択する。特に後者は、Javaだけでなく、GraalVMがサポートする他のプログラミング言語においても、偉大なイノベーションの触媒という役割を果たしている。Project Leydenには、Native Java標準の定義に加えて、Native Image Generatorのリファレンス実装やNative Javaのコンフォーマンステストスイートの実現が期待される。

Mark Little: Javaの将来を考える時、Project Leydenがその意義を維持できるタイミングに間に合わないのではないか、という懸念があります。

Kruize Autotune — KubernetesのコンフィギュレーションをJava用に自動調整する。JVMのみでなく、スタック全体が最適化される。

Javaエコシステムのサポート

Adoptium — "神に祝福された(blessed)"イメージのリポジトリ — には、これまでに3億を越えるダウンロードアクセスがあった。目標は利用可能なすべてのプラットフォーム用のバイナリをダウンロード可能にすることだが、現時点ではLinux、Windows、macOS、ARM、Intel、AIXなどが対象である。すべてのコミュニティビルドが十分に高い品質基準を達成するために、Adoptium AQAvitの傘下において、クラウド内の100台を超えるビルドマシンとテストマシンによる250,000件の自動テストが実行されている。それらのテストでは、セキュリティ(既知のセキュリティ脆弱性テストをパスすること)、機能的な正確性、パフォーマンスに加えて、拡張性や堅牢性が重視されている。

Holly Cummins: "Node.jsに浮気していた"時期も確かにありましたが、現在はJavaのコード記述に戻っています。これまで数多くの開発をしてきましたし、JSで開発することのメリットの多くはJavaにもあるからです。

より効率的なランタイム

すべてがKubernetesで動作する訳ではなく、Java全体を改善するための取り組みが行われている。メモリフットプリントの削減(コンパクトな文字列など)、効率のよいメモリ管理とガベージコレクション(ShenandoahG1)、アプリケーションのリンクと適切なサイジング(jlink)、IOの最適化(HTTP2WebSocket)などが具体的な内容だ。

Javaはプログラミング言語界のベテランだが、コミュニティはあらゆる環境に対応できるようにすべく、さまざまな取り組みを行っている。Javaの新バージョンが6か月周期でリリースされるようになった以降の5年間は、Oracleがこの速いペースで言語を変革できることを証明すると同時に、従来は関与のなかったMicrosoftのようなアクタさえも関与するようになった期間でもあった。クラウドネイティブ機能に関する大きな懸念は、Leydenや他の活動が、関連性を維持する期間内に成果を上げることができるのか、という点である。

作者について

この記事に星をつける

おすすめ度
スタイル

BT