初日の Technical Keynote は尻切れトンボで終わってしまったわけですが、なんと再演が決まりました。
Community Keynote の前にやるのだと。それはよかった!!
Keynote は懐かしの Marriot。Sun 時代はここで BOF を多くやってました。
ということで、今日聞いたセッション
- Intel Keynote
- Technical Keynote
- Community Keynote
- DistributableStream: A Java 8 Stream Computational Model for Big Data Processing [CON2152]
Keynote
Intel のキーノートはあまり興味がないので、パス。Hadoop の話をしてました。それと Intel が OpenJDK に参加したそうです。そうすると、AMD と一緒にやっていた Project Sumatra は黒歴史化決定かも...
続いて、Tech. Keynote の続き。前半の振り返りはパスで、後半の Project Lambda のところから。はじめにちょっとだけ Mark が喋って、すぐに Brian Goetz にバトンタッチ。そして、Jigsaw も軽く触れる程度。
ここからが日曜日に飛ばしてしまったところ。再び Brian にバトンタッチします。
通常、オブジェクトの配列を作成すると、配列に入るのはオブジェクトの参照だけで、オブジェクトはヒープの別の場所にあります。でも、これは参照をたどるのもムダだし、オブジェクトにヘッダをつけなくてはいけないということもムダです。
なので、直接フィールドを配列に書けるようなものを定義してしまえということになります。それが Value Type。
クラスとプリミティブの中間ぐらいの粒度ですかね。
Optional も Value Type 化するようです。
でも、配列だけにしておくのももったいない。ArrayList などでも Value Type 使いたいわけです。そこで、ジェネリクスでプリミティブを扱えるようになるのだと。これを Specialization と呼びます。
Java のジェネリクスはイレージャで、パラメータの型は消えてしまいます。これに対して、Specialization を使用するとパラメータに対応したクラスを生成してしまうようです。
これがあれば、IntStream なんてものがなくても済むわけです。実際には Stream<int> と書かれると、裏では IntStream を使うようになるかもしれませんけど。
こういう仕様をまとめているのが、Project Valhalla と Project Panama になります。
それぞれ、以下のような仕様を含んでいます。
- Project Valhalla
- Specialized Generics
- Value Types
- Var Handles
- Projet Panama
- Foreign FUnction Interface
- Data Layout Control
- Arrays 2.0
その後、Brian Oliver, John Rose, Charles Nutter, James Gosling、そして Brian も加わって Q&A セッション。ハッシュタグの #j1qa でツィートされた質問を Mark が他の人たちに降っていきます。
Mark はツィート見るのに夢中で、あまり人の答えを聞いていなかったりww
きしださんの blog に書かれているように、写真撮っていたので、質問はメモしておらず。なので、ぜんぜん覚えてません ><
Community Keynote の MC は Jim Weaver。Jim さん、かなり緊張してましたね。
Community Keynote はいつもと同じように、Java に関するいろいろな取り組みの紹介。
紹介されたのは、ロボットや株の取引アプリ、RoboVM に Android 向け JavaFX、JavaFX を使った教育ソフト、車の自動運転テスト用のロボットなど。
この中で、ロボットの話をした Andrea Keay さんのスピーチがすごいうまい。この人はちゃんとスピーチのトレーニング受けてますね。
内容はともかく、話のもっていき方や、ポスチャーなど、ほんとに隅々まで行き届いた感じ。他の人のスピーチが下手なのが引き立っていまいました。
最後に、James Gosling がちょっとだけスピーチ。去年は自分の仕事の話もしていたけど、今年は Java のことだけ。Duke は Fung だったんだよ、など昔話。
まぁ、James は出てくるだけで、いいんですよ。話の内容はどうでもいいんです。
そして、最後に恒例の T シャツ投げ。今年もとれなかった...
DistributableStream: A Java 8 Stream Computational Model for Big Data Processing [CON2152]
スピーカは Oracle の Garret Swart。
今の Stream は共有メモリ型のマルチコアに適しているのですが、ネットワークでつなげた複数のマシンでも実行できるようにという話。いってみれば、Hadoop の Stream 版です。
実際に動いているものがあるわけではなく、アイデアのみのようなのですが、なかなかおもしろいです。
でも、もうちょっと具体化しないと、どうなるか分からない感じ。
というわけで、今年の JavaOne もおしまい。
0 件のコメント:
コメントを投稿