分1995年に誕生して以来,Javaは革命と進化を繰り返してきた。寺田佳央氏はこう発言しました。7がリリースされましたが,これはJavaがオラクル傘下になってからはじめてのバージョンでもありました。10月に米サンフランシスコで開催されたJavaOneでは,今後のJavaの開発方針についてもオラクルから明確な情報提供が行われています。7についての最新状況を簡単に紹介します。本稿で紹介する内容は2011年12月時点での情報をベースにしており,今後,大幅な方針変更がある可能性も高いことをあらかじめご承知おきください。8は2013年の夏にリリースが予定されています。XSolarisとなっています。8で予定されている機能強化の主なものを挙げておきます。クラスパスの排除,JDKのサブセット単位での自動ダウンロード/インストール,ネイティブパッケージ(dev,rpm,ips...)の生成などが可能になり,大幅なパフォーマンス向上が期待されます。寺田氏はこれを「jarの地獄から解放」と表現しています。SEのサブセット提供も進むと見られています。8でサポートされる予定です。クロージャと同一視されることも多いラムダですが,寺田氏はラムダが採用された経緯について「市場は現在,マルチコアCPU時代を迎えており,ハードウェアのトレンドは周波数よりもコア数,並列処理へと移っている。Javaの内部にも並列処理できるしくみが必要。クロージャに対応したというよりも,開発の容易性を重視した結果」と解説しています。サーバだけでなくクライアントもマルチコア時代を迎え,高いパフォーマンスを出すコードを書くためには,インナークラスを使ってコンカレント処理や並列処理が簡単に実行できるようになったほうが効率的といえます。Ramani氏の講演にあったとおりです。SEの標準ライブラリとしてでJavaFXは提供されることになります。JRockit」がSun由来のJVMである「HotSpot」と統合され,「⁠HotRockit」という名称に変わります。8において完全にパッケージングやサポート体系が統合されることになります。新JavaScriptエンジンの"Nashorn"(ナスホーン)は現在のRhinoを置き換えるものです。最大の特徴はRhinoに比べてパフォーマンスが非常に高速になること。寺田氏によれば「invokedynamicにより3倍の高速化と5倍の軽量化が同時に実現」するそうです。7で追加された新しいバイトコードで,JRubyなどの動的言語のJVM実装をアシストします。NashornではNode.jsもサポートされます。8は"革新"のバージョン」とオラクルは表現しています。パフォーマンスの大幅な向上に期待がかかります。9に関しては,今後,変更される可能性がかなり高いとしながらも,寺田氏は現状での方向性を語ってくれました。9以降のJavaの開発方針は以下の要素が重要視されるとのことです。関しては,動的言語サポートの改善とネイティブコードの呼び出しがポイントになります。8においてはNashornでJava⇔JavaScriptの相互運用が図られています。9以降⁠)⁠」が予定されているとのことです。SE9では,JNI不要でJavaからネイティブコードを呼び出せるようになるそうです。8でもマルチテナンシーの一部がサポートされると見られています。VM間の共有やスレッドグループごとのリソース監視などが向上することが期待されます。VMも登場するとのことです。これにより「共通操作メモリページの共有や共通操作ライフサイクル,マイグレーションが可能になる」(⁠寺田氏)とのことです。"最適化"については,言語仕様やデータ構造への最適化が順次図られていくとしています。9では巨大データが今後ますます増えることを想定して,巨大配列(64ビット)のサポートを表明しています。10以降になると思われますが,「⁠primitive型を排除し,完全にオブジェクトだけで実装するユニファイド型システム,型の具体化(ジェネリクス,関数型⁠)⁠」⁠(⁠寺田氏)といった機能の搭載も進められる予定になっています。本当に実現すれば,「⁠Javaが真のオブジェクト指向言語になる」(⁠寺田氏)といえるでしょう。8以降ではマルチタッチ,位置情報,センサー対応が加わるそうです。9以降では"ヘテロ・コンピューティング・モデル"を掲げ,「⁠GPU,FPGA,オフロードエンジン,リモートPL/SQLなどをサポート」する方針とのこと。この辺はかなり流動的と思われますが,Javaらしい目標だといえます。7ですが,オラクルによれば2012年中のリリースということです。2012年末になるのではないかと見られています。7の特徴について,寺田氏は「クラウド対応,とくにPaaSへのフォーカス」がメインであるとしています。ここでポイントになるのは伸縮(エラスティック)性とマルチテナンシーです。伸縮性ではリソース状況に応じたインスタンスの増減を継続的に行うために,自動化が重要になってきます。「⁠システムが自動で決めた設定にしたがって,自立的かつ動的にサービスレベルを管理し,シングルノードからIaaSのクラスタまでデプロイ対象管理にする」(⁠寺田氏)ことを目指しています。マルチテナンシーについては,テナントごとに1つのアプリケーションインスタンスを用意するようです。同一アプリケーションの複数の独立したテナントもサポートするとのこと。テナントごとに仮想サーバを割り当てる,テナントごとにカスタムリソースを読み込む,などの機能も計画されています。2.3.2」ではマルチテナンシーがサポートされています。7はクラウドをより便利に使ってもらうためのプラットフォーム」と寺田氏はまとめています。ここに挙げた以外でも,クラウド環境の実現に必要な機能が今後も追加されることも十分ありうるでしょう。API,RESTサポートなどが含まれる予定になっています。オラクルは今後も定期的にJavaに関する情報のアップデートを行うことを約束しています。Sunを買収して以来,「⁠オラクルはJavaを囲い込むのでは?」「⁠オープンな開発が続けられなくなるのでは?」という声が数多くありましたが,むしろオラクルはJavaに関しては神経質なほどに"オープン"であることにこだわっているかのようです。コミュニティのサポートや数多くの無償ツールの提供,積極的な情報公開などにその姿勢を見ることができます。Forward"というキャッチフレーズの通り,これからもオープンなスタイルでJavaが進化と革新を続けていく意思表示をあらためて感じたセッションでした。Lambda著者プロフィール五味明子(ごみあきこ)IT系の出版社で編集者としてキャリアを積んだ後,2011年からフリーランスライターに。フィールドワークはオープンソースやクラウドコンピューティング,データアナリティクスなどエンタープライズITが中心。海外カンファレンス取材多め。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。