「Java is Still Free」――Javaのサポート問題へ終止符、迎える4つの進化【Oracle Code One 2018 Java Keynote】
4つのプロジェクトの詳細解説(2)
(3)Project Panama
CやC++のネイティブコード(コンパイル後のライブラリ)などをJavaから容易に呼び出せるようにする仕様の追加です。これまで同等の処理をJNI(Java Native Interface)と呼ばれるインタフェース仕様により実現していましたが、使い勝手やパフォーマンス面などに課題がありました。
デモではCで書かれたヘッダファイルから定義を抽出してJavaのInterfaceを自動生成し、それを経由してCのネイティブコードを実行する実装の紹介がありました(JEP 191)。
(4)Project Valhalla
型定義に関するパフォーマンス向上や型の拡張などを行うプロジェクトです。Javaの型定義はプリミティブ型と参照型に分かれますが、後者は常に値の参照を挟むため、パフォーマンス面で弱く、性能の求められる使用局面で課題となるケースがあります。そこで、参照を挟まない独自の型定義を実現するのがここで紹介された仕様です。
型定義は、従来通り実装したクラスに「value」というキーワードを付与するだけで実現できます(JEP 169)。行われたデモでは、キーワード設定有無のみの違いを持つ実装がそれぞれ実行され、平均処理速度で10倍以上の違いが計測されました。
Java Keynote総評
Java SE 9及びJava EE 8のリリースやリリースモデルの変更、そしてEE4Jの発足(Java EEのEclipse Foundationへの移管プロジェクト)など激動であった昨年のJavaOne 2017と比較し、リリースモデルのおさらいやプロジェクトの進捗状況を説明した今年のキーノートは、地に足の着いた内容であったと表現できるでしょう。Javaユーザーとしては、リリースモデル変更への誤解を解くメッセージを盛り込んだことで、現状理解が進むことを期待できる内容でもありました。
また、最も時間を割いて説明された進行中の各プロジェクト詳細も、素直に使いやすく便利になると感じる仕様であり、今後もJavaを使い続けるうえで、進化し続ける安心感を得られるものでした。プログラマーとしては最適な実装をしていくために、各プロジェクトのアップデート状況を引き続きキャッチアップしていく必要があるでしょう。それはつまり、Javaという言語とともに、我々と我々のアプリケーションが進化していくという未来につながる。そんな実感を得られるキーノートでした。
次回予告
さて、次回のレポートでは、本キーノートのモデレーターを務めたGeorges氏への特別インタビューの内容をお届けします。この秋にリリースされた初のLTSであるJava 11への手ごたえや、Java 8を使い続けることの是非といったJavaユーザーとしての疑問をぶつけた他、AdoptOpenJDKやJakarta EEなどOracle外部のコミュニティについての率直な質問についても回答をいただいています。ぜひ次回もあわせてお読みください。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- 「Oracle Code One 2018」レポート連載記事一覧
-
- OSSのサーバーレスプラットフォーム「Fn Project」、Javaを倍速にする「JIT...
- 「Java 8はいつまで使い続けていいんですか?」Georges Saab氏に聞いたJav...
- 「Java is Still Free」――Javaのサポート問題へ終止符、迎える4つの進...
- この記事の著者
-
西野 大介(SOMPOホールディングス株式会社)(ニシノ ダイスケ)
SOMPOホールディングス株式会社デジタル戦略部(SOMPO Digital Lab)勤務。損保ジャパン日本興亜グループにおける先進技術の研究開発を担当。過去には基幹システムの開発にも従事し、SoR/SoE双方の開発において幅広い経験を持つ。本業以外では、CodeZineの連載をはじめ、国内/海外の各種カンファレンスへの登壇や企業向けの講演にてテクノロジー情報を幅広く提供している。主な登壇実績:IBM THINK(米ラスベガス)、Java Day Tokyo、IBM THINK Ja...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
