[速報]JavaOne開幕。Java 9は「Project Jigsaw」でクラスパスの問題とJDK肥大化の問題を解決する。JaveOne 2015

2015年10月26日

サンフランシスコでOracle OpenWorldと同時開催の「JavaOne 2015」が開幕しました。Javaが登場して20周年、19回目のJavaOneとなります。

基調講演ではJavaの歴史を振り返った上で、Oracle Java Platformチーフアーキテクト Mark Reinhold氏が来年にも登場する予定の次バージョンの「Java 9」で採用される予定の「Project Jigsaw」を紹介しました。

Mark Reinhod氏。

fig

Java 9では2つのことを解決しようとしている。1つはClaspath、もう1つは巨大なモノリシックとなったJDKだ。

fig

この2つの課題を1つの手段で解決しようと導入するのが「Module」で、それを進めているのが「Project Jigsaw」だ。

fig

classpathは「Jar hell」という言葉があるほど面倒を抱えている。例えばHadoopは7000ものソースファイルから構成されており、Classpathにこのようなワイルドカードを使っている。

fig

これを展開すると110ものパスになる。ここから1つ何かが消えても分からないよね?

fig

また、依存関係がコンフリクトを引き起こす可能性もある。使われている内部APIを変更しても大丈夫かどうかも分からない。

解決には、jarファイルの強力な抽象化機構が必要で、いま提案されているのが「Modules」だ。

Javaを見てみると、ステートメントや式として「Methods&Fields」があり、その上にそれらをグループ化する「Classes&Interfaces」があり、それらがまとまって「Packages」となる。

われわれはその上に、Packegeのコンテナとして「Modules」を提案している。Modulesは、ほかのModuleとどのように関係するかを記述できる。

fig

Moduleはこのように記述する。モジュール名と、なにに依存しているかを書き、どのパッケージをエクスポートするかを書く。

fig

Moduleを導入することで、パスが消えたり、コンフリクトを起こしたり、内部APIの変更が可能かどうかの判別などを解決できる。

Moduleはパッケージのコンテナであり、コンフィグレーションの信頼性と、強力なカプセル化を提供する。

fig

これは大きなプラットフォームの変化であり、浸透にはしばらく時間がかかるだろう。いきなり全員にmoduleの採用を押しつけることはない。過去のコードも走らせる必要がある。

Moduleはクラスパス地獄からの脱出策となると同時に、巨大でモノリシックなJDKの解決策にもなる。

JDKをモジュールに分割することで、小さなデバイスからクラウドの上までJDKをスケールさせることができるようになると同時に、JDKをメンテナンスしやすくし、セキュアな状態を保ちやすくする。

モジュール化により、いずれJDKの内部APIはカプセル化されアクセスできなくなるがJava 9では広く使われている内部APIなどはそのまま利用できるようにするつもりだ。

Moduleは、例えばLambdaのような言語の強化ではなく、シートベルトのようなもので、安全により速く進むためのものだ。

fig

JavaOne 2015

Oracle OpenWorld 2015

Tags: Java プログラミング言語 Oracle

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly




タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本