|
6/11 第 2 日 |
||
ZDnet の記事には 5,000 人の参加者と書かれていましたが、そんなもんなんでしょうか。その割には混雑しています。カンファレンスの会場が A 〜 C Hall を使わずに Esplande の狭い部屋を使っているからかもしれません。 でも、5,000 人はないと思うのですが... 本題に入って、まずは今日の Genral Session からです。
|
General Session |
||
Don McMillan Don が JavaOne に帰ってきました。今回も、J2CE (Java 2 Platform, Comedy Edition) です。 すごいまじめな顔をしながら、ろくでもない話を早口でまくしたてていきます。 前半、スライドを使用せずに話だけだったのですが、全然分かりません ^^;; 自分の英語力のなさにあきれてしまいます。これが分かるようになるまでは何年かかるのでしょうか。 後半はスライドを使ってくれたので、なんとかついていけました。スライドの枚数と情報量のグラフを出して、枚数が多くなればなるほど意味はない、特に 50 枚以上は 0 である。ちなみにこのスライドの枚数も 50 枚を超えているので、意味はまったくないのだが... など、など。 やっぱり、こういうお遊び的な要素がないと !
Richard Green まず、ニュースとして HP と Dell のデスクトップに Java がプリインストールされることが決まったようです。 さて、スピーチに戻りましょう。 ソフトウェア開発者を Complexity と Coding Required を軸にした 4 つのエリア (Technician, System Architecture, Corporate Developer, Integrator ) に分割して、どの分野でも Java が使われるようにしていくこと、またそのためのプランを説明しました。 特に Corporate Developer と Integrator においてまだ Java の浸透度が低いのでそこをてこ入れしていくのだそうです。 そこで、VB に対抗するツールとして取り上げたのが、話題になっている Rave です。デモだけだと、簡単そうにアプリを作ってましたが、使いこんでみると違うかもしれません。とりあえず、見た目は簡単そうです。 Early Access が秋とのことなので、もう少し待つ必要があります。 もう 1 つが、Wireless Connection Wizard です。Illustrator で絵を作ることができ、Wizard でそれをスキンのようにとっかえひっかえできることをデモしてました。 こちらは今日から Early Access がダウンロードできるようになったそうです。 また、彼の持論である Java Ecosystem を説明し、Volume - Developer - Application をつなぐ輪によって正のフィードバックがかかることで Java がより拡大していくことを示しました。 James Gosling はじめは恒例の T-Shirts。今年は投石器のような投 T-Shirt 器が登場しました。かなり大きいものです。ただ、迫力の割には、威力は??? それに加えてセッティングが面倒くさそうです。 T-Shirt もどんどんとエスカレートしてしまったので、来年からはコンテストを行うそうです。ルールは
詳細は後で発表されるようです。 ここ 2, 3 年、Gosling のセッションではリアルタイムに関するものが必ず取り上げられています。今年も、まず登場したのが、火星探査機。昨日打ち上げが行われたのですが、これは Java は使われていないものだそうです。 Java が使われている方は、実機が会場に持ち込まれていました。Locky 7 という名前です。思っていたより小さいものです。探査機のコントロールには RTSJ が使われており、地球側のシステムと通信しながら制御を行うのだそうです。ちなみに地球側のシステムも Java だそうです。 次に、店舗における在庫補充ロボットを紹介しました。三菱製のロボットアームを使用しています。商品にはすべて ID タグがつけてあるという前提で、商品が売れたらそれを知ることができます。するとロボットが在庫から商品を運んでくるわけです (といってもアームが届くところにおいてあるので、UFO キャッチャー見たいなものですが...)。 このシステムも RTSJ を使用しています。 その他に Jentro AG の声でナビゲーションをしてくれる携帯電話アプリケーション (GPS が必須です)、JXTA を使用した渋滞情報などを紹介しました。 JXTA を使ったものは、車に GPS をつけて JXTA アプリケーションを動作させます。アプリは車の位置と渋滞状況を他の車とシェアします。車が多数になればなるほど、緻密な渋滞情報を得ることができるようになるわけです。
|
Technical Session |
|||||||||||||||||||
今日、聴講したのは次の 4 セッションです。
HotSpot はほとんどツールの使い方だけになってしまっていまいち。 また、Grid Computing も前半はおもしろかったのですが、後半は非常につまらなかったです。彼らが、Grid Computing 用の Middleware を作ったという話なのですが、何のためにどのようにして使うのかの説明もなく、既存の Grid Computing 用のライブラリ (例えば OGSA と) と何が違うのか、どこが優れているのかなどの背景事項をまったく説明しないからなのです。 研究成果を発表するにしても、それはないよなぁという感じです。 というわけで、Programing Puzzler と Java Web Start についてレポートします。 TS-1496 More Programming Puzzlers 去年の横浜の JavaOne でも行われた Programming Puzzler が再び戻ってきました。ただ、内容は横浜の焼き直し。SF の焼き直しを横浜で行うことはよくありますが、横浜の焼き直しを SF でやるのははじめてではないでしょうか。 横浜とはちがって、壇上に回答者をあげることはしませんでした。回答者がいたほうが盛り上がると思うのですが。 問題は 10 問。裏をかくような問題も多いです。 さて、問題です。
答えはどれだと思います。 正解は 3 です。 理由はよく考えてみてください。この問題は会場のウケが一番よかったものです。逆にいえば、だまされた人が一番多かったということなのでしょう。
TS-2173 Java Web Start int he Trenches: Tips for Developing JNLP Application セッションのはじめにどのくらいの人が JWS を使っているのか聞いたところ、ほとんどの方が使われていました。もちろん私も使っています。でも、この結果は結構ビックリ。まだ全然メジャーになっていないと思っていたのですが、考えを改めないと。 このセッションでは JWS を使う上で Configuration, Programing, Packageing & Deployment の 3 つの段階それぞれの Tips を紹介するというものです。 すべての Tips を書くわけではないですが、気になったものを上げておきます。
|
Birds of a Feather (BOF) Session |
||||
今日聞いたセッションは 1 つだけです。
BOF-2040 Java 2 Platform Profiling: Future Directions 今までプロファイラは JVMPI を使用してきたのですが、Tiger から新たなインタフェース JVMTI が導入されます。セッションに 5 分ぐらい遅刻したら JVMTI が何の略なのかの説明は終わってしまい、分からないままです。JCP のサイトにも書いてないし.... JVM は Java Virtual Machine、最後の I はインタフェースだと分かっているのですが、さて T は何のことなのでしょう。 プロファイルを行うには通常 3 種類の方法が考えられます。
1 の方法では JVM へのアクセスに JPLIS を使用します。ただ、これも何の略なのか分かりません。 2 の方法が現在のプロファイラで最も一般的に使われている方法です。いままでは JVMPI を使用していたのですが、Tiger からは JVMTI を使用します。 3 の方法はデバッガで使用されていた手法です。ただ、Tiger ではこの方法でプロファイルもできるようになりました。というかデバッグのためのインタフェースとプロファイルのためのインタフェースが統合したようです。 3 では JVM とのやり取りを JVMTI、プロファイラのプロセス間通信に JDWP、アプリケーションのプロセス外にあるプロファイラのフロントエンドとのやり取りに JDI を使用します。 JDWP は Java Debug Wire Protocol、JDI は Java Debug Interface で、JPDA (Java Platform Debugger Architecture) で決められているものです。 Tiger の JVMTI は JVMPI や JPDA の JVMDI に代わるインタフェースです。機能的に JVMDI のスーパセットになっています。 かなり強力で、バイトコード単位でいろいろと制御やイベントを扱うことができるようです。また、あまりにも細かい情報が多数あるとそれに埋もれてしまうのですが、興味のあるものだけ指定して情報を取り出すことが可能になりました。 もちろん、HotSpot などと一緒に動作させることも可能です。 機能の分類はメモリやスレッドにはじまって、オブジェクト、フィールド、ローカル変数、JNI など多岐にわたっています。例えば、スレッドではスレッドのスタート、すべてのスレッドの取得、スレッドのサスペンド、サスペンド中のスレッドの一覧取得などができます。 ヒープに関する機能では強制 GC、ヒープのルートの取得、reachable object のイテレーションなどが行えます。 イベントも JVMPI に比べるとずいぶんと強化されました。
もちろんオブジェクトのアロケートや開放も検出できます。 JVMPI に比べるとかなり強力になっているので、さまざまな情報を取得することができます。それをプロファイリングに活かせば、パフォーマンスチューニングの力強い味方になってくれると思います。
|
おまけ |
||
昨日の訂正から。お菓子もコーヒも出てました。量や回数は少なくなりましたが。 ところで、今日は Sun のアジアパシフィックのパーティに出席させていただきました。といっても 20 人弱ぐらいでわいわいとおしゃべりをするぐらいの規模です。そこには、Sun の藤井さんや NEC の岸上さんなども参加されており、いろいろとお話を伺うことができました。藤井さんははじめてお会いするのですが、岸上さんは第 4 回の JavaOne で出会って以来ほとんど JavaOne でしかお会いしないという JavaOne 仲間なのです。その他にも中国やニュージーランド、シンガポールなどからも参加されていたようです。今回の JavaOne の中で一番英語を喋ったかもしれません ^^;; 今日、 1 セッションしか BOF を聴講できなかったのはこういうわけです。
(2003.6.11) |
|