2009/06/01

今日の CommunityOne West

このエントリーをはてなブックマークに追加
The Day before JavaOne, JavaOne 2009 San Francisco

もともと、JavaOne の前日は NetBeans Day などのイベントをやっていたのですが、去年から CommunityOne になりました。今年は CommunityOne West。

なぜ、West かというと、3 月にニューヨークで CommunityOne East というイベントをやったからです。

CommunityOne は Solaris や、今年は Clouds 関連のセッションも多いので、櫻庭が興味を持ったセッションはあまりありませんでした。まぁ、そんなもんでしょう。

結局、参加したのは、General Session とテクニカルセッション 2 つだけでした。

General Session

去年は横に長いスクリーンだったのですが、今年は普通のアスペクト比のプロジェクタになってました。横に長いスクリーンは複数台のリアプロジェクタを使い、しかも重なって投影する部分は輝度を落とすなどをして、あたかも 1 つのスクリーンのようにしています。しかし、これは高くつくんでしょうね。

今年の JavaOne はお金かけていない感がとても強いです ^ ^;;

さて、今年の General Session は MC が Dave Douglas でした。前半がクラウド、後半は John Fowler にバトンタッチして OpenSolaris という構成です。

後半の OpenSolaris のパートはニュースショー的な演出で John Fowler がアンカー役でした。でも、これは失敗じゃないかなぁ。テーブルに座って話すだけなので、動きが全然ないんです。

去年の ZFS のデモのようにハンマー振り上げてデモする方がおもしろいし、インパクトありますね。

途中で Nandini Ramani が登場して、JavaFX 1.2 で OpenSolaris をサポートしたことをデモしていきました。今日は、珍しくデモに失敗しませんでしたよ ^ ^;;

General Session, CommunityOne West 2009
General Session 前の会場
Dave Douglas, General Session, CommunityOne West 2009
今年の MC は Davve Douglas
Campus Ambassadors and Dave Douglas, General Session, CommunityOne West 2009
世界中のキャンパスアンバサダー
残念なことに日本のアンバサダーはいないんです
Dave Douglas and Lew Tacker, General Session, CommunityOne West 2009
クラウドの紹介は Lew Tacker
Mike Harvey and Lew Tacker, General Session, CommunityOne West 2009 Omer Trajman, Dave Douglas and Lew Tacker, General Session, CommunityOne West 2009
Issac Roth and Lew Tacker, General Session, CommunityOne West 2009 Eric Baldeschwieler, General Session, CommunityOne West 2009
Hadoop の Eric Baldeschwieler
この人、ずっと首が傾いていた。くせなのかなぁ?

ここから後半の OpenSolaris のパートです。

OpenSolaris Open Networking, General Session, CommunityOne West 2009 OpenSolaris Open Networking, General Session, CommunityOne West 2009
John Fowler, OpenSolaris Open Networking, General Session, CommunityOne West 2009
アンカーのJohn Fowlerが3人に話を聞くという形式
John Fowler, OpenSolaris Open Networking, General Session, CommunityOne West 2009
John Fowler, OpenSolaris Open Networking, General Session, CommunityOne West 2009 John Fowler and Nandini Ramani, OpenSolaris Open Networking, General Session, CommunityOne West 2009
Nandini が登場して、JavaFX 1.2でOpenSolarisをサポートしたことをデモ
OpenSolaris Open Networking, General Session, CommunityOne West 2009 OpenSolaris Open Networking, General Session, CommunityOne West 2009

S304203 Turbocharge Your UI

Romain Guy, S304203 Turbocharge Your UI, CommunityOne West 2009
Romain Guy

もともとスピーカに Google の Romain Guy と Mike Cleron がクレジットされていたのですが、会場には Romain Guy しかいません。どうしたんでしょうね。

Romain Guy は元々 Sun でインターンしていて、Swing のチームにいたのですが、今は Google で Android の UI をやっているようです。

このセッションでも Android を題材にしながらも、他の GUI にも応用できそうな Tips などを紹介するというものでした。

たとえば、リスト表示で項目を高速でスクロールさせる方法とか、リアルタイムにイメージの拡大・縮小をするのでなく事前に拡大・縮小したイメージを作成しておくこと (いうなればミップマップですね) とか、リペイントする領域をなるべくすくなくするとか。

示されるコードが Android のものなので、いまいち分からない部分も多いのですが、考え方だけは使えそうです。

S304097 The Da Vinci Machine Project: Collaborating on JVM Machine Futures

John Rose, S304097 The Da Vinci Machine Project: Collaborating on JVM Machine Futures, CommunityOne West 2009
John Rose

Da Vinci Machine Project は OpenJDK のサブプロジェクトで、JSR 292 Supporting DYnamically Typed Languages on the Java Pltform の RI を作成しています。つまり、動的型付け言語を Java VM で実装しやすくするための機能を実装するプロジェクトです。

一番の目玉は invokedynamic という新しいバイトコード。

Java は静的型付け言語なので、メソッドの引数や戻り値はちゃんと型を指定しないといけません。でも、動的型付け言語はそんなことないわけです。

そこで、登場するのが invokedynamic。invokedynamic は引数や戻り値の型を記述していない場合に使われる、メソッドインボーク用のバイトコードです。

ここまでは去年の話題。

型定義なしのメソッドはコンパイル時に invokedynamic に置き換えられるけど、実際にそのバイトコードを実行するのはどうするのか、という議論が去年は欠けていたのです。

今年は実行時にどうするかという解が提示されました。その解が Method Handles です。いうなれば、高速リフレクションですね。

その他にも Da Vinci Machine Project では、次のような実行されているようです。

  • Java 言語の変更
  • インタフェースインジェクション
  • Tail call
  • Continuation
  • Anonymous class

これらがすべて Java SE 7 に入るのだとしたら、なかなかおもしろそうです。たぶん、間に合わないのもありそうですけど。

0 件のコメント: