JavaOne 2014 サンフランシスコ 5日目最終日

JavaOne最終日です。

最終日はカニパーティーです。


コミュニティキーノートと、あとは4つほどセッションを取りました。

  • CON6275:JDK 8 for Mobile iOS and Android Devices
  • CON3389:Migrating a JSF-Based Web Application
  • CON2261:SnapCoding for Education
  • CON1873:Toward Low-Latency Java Applications

コミュニティキーノート

入ったときには、Intelのプレゼンが行われていました。

けどこれはあまり聞いてない。


あと、さくらばさんが写真をとっていました。


そして、この日の注目である、テクニカルキーノート再演が行われました。


ブライアンの登場!


このような構造体的なクラスのオブジェクトの扱いがテーマです。

class Point{
  final int x;
  final int y;
}


このオブジェクトの配列をつくると、実際のデータは参照経由で保持されます。

それぞれのオブジェクトのヘッダが無駄になります。


そこで、効率のよいプログラムを書くために、クラスを使わずに、それぞれのフィールドを保持する配列を定義したりしてました。


そこでvalue typeです。

value class Point{
  final int x;
  final int y;
}


そうすると、データが参照経由ではなく直接保持されるようになります。


Optionalもvalue typeにしたほうが効率よくなります。


ただ、そうすると配列だけではなく一般のデータ構造でも効率よくvalue typeを使いたくなります。そのためには、Genericsで基本型を扱えるSpecializationが必要です。


こういったVM拡張は、Project ValhallaとProject Panamaとして進められています。

先日のテクニカルキーノートで飛ばされてた中にはないスライドもあったようなので、少し詳しくなってたようです。たぶん、もともとはSpecializationの話はなかったと思う。
ちなみに、これらのプロジェクトの内容はこちらにまとめてあります。
Java VMの改善案が楽しそう - きしだのはてな


そのあとは、ゴスリンも出てQAセッション。

内容はよく覚えてない。
ここで抜けて、携帯なくしたの問い合わせてみるためにモスコニのインフォメーションに行きました。あとでモスコニ南の206へ行けと言われた。


そのあとロボットの話とかAndroid/iOSJavaFXを動かす話とかJavaFXで作ったグラフィカルプログラミング環境とかがあったみたいです。
ここに動画がありますね。
http://medianetwork.oracle.com/video/player/3818408543001

CON6275:JDK 8 for Mobile iOS and Android Devices

iOSAndroidJava SEを動かそう、というセッション。のはず。
しかしアジェンダみても全然それっぽくなくて、部屋を間違えたのかと思いました。


で、なんか、Java SE 8の文法の話。


ここで突然のJavaOne弁当!

コミュニティキーノートが延長して休憩時間が少なくなったので、ごはんを食べる時間がなくて、セッション中に弁当たべました。


で、なんかJava SE Embeddedの話が続いていきます。
これiOSとかの話だったはずなんだけど。


そんで、Oracle Mobile Application Frameworkの話。

ちゃんと概要に書いててくださいよーと思いました。

CON3389:Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI

SpringからJava EEへの移行の話です。


さまざまなレイヤーについて、SpringからJava EEへの移行での疑問があります。


これらにそれぞれ答えていく感じ。
対応するアノテーションなどの説明があったんですが、だいたいググりゃわかるんで、直接の変換ができないところだけ書いておきます。
その、直接の変換ができないというのは、式言語を使ったプロパティインジェクションです。


で、こういうときにApache DeltaSpikeがいいよ、と。


ほかにも続いたんですが、まとめ。

Springの機能でJava EEに移行できないものはないと。


しかし、JSFの話は出てこなかった気がするな。

CON2261:SnapCoding for Education

コミュニティキーノートで話してたらしい、JavaFX製の教育用IDEです。


なんか、淡々とデモが進みます。


Javaでイベントコードも書けます。

パックマンとかもあります。


これずっとデモだなと思って、ここで抜けて、モスコニに行きました。
インフォメーションにいって、もう一回部屋番号確認すると、すげー背が高いおねえさんが一緒についていってくれました。
で、206にいくとLost & Foundというのがあって、そこで確認したんですけどやっぱりないってことに。ついてきてくれたおねえさんも、「幸運を祈ってるわ」的なことを言ってくれて、ちょっとぶわっとなりそうになりました。

CON1873:Toward Low-Latency Java Applications

低レイテンシなJavaコードというセッション
これが、今回のJavaOneの最後のセッションです。


低レイテンシがなぜ必要なのかという話がつづきます。金融みたいに、レイテンシの差が大きい金額の差になることがありますよ、とか。

そこではFPGAが使われると。


CPUクロックを1秒とすると、DRAMアクセスは6分、SSDで2-6日、ハードディスクだと1-12ヶ月、サンフランシスコからニューヨークまでのネットワークは4年とかいう話が続きます。


で、SDOっていうXML処理ライブラリの例でデモ。

しかし、だからといってどうしたらいいかはよくわかりませんでした・・・


そしてこれにてJavaOneのセッションはすべて終了。
みんな帰っていきます。おつかれさまでした。

カニパーティー

JavaOne最終日は、日本人参加者みんな集まってカニパーティーです。
みんなで電車で移動します。

たしか46なんちゃらってところだと思ったのに引率の @yusuke さんは自信たっぷりで座ってるので、勘違いだったかなーと思ったら、やっぱりお店を通り過ぎてて一駅もどりました。


このお店


自撮りしてる人たちもいます。


カニです。でかい!

これ食べると手が油まみれになります。


みんなもくもくと、じゃなくいろいろ話しながらカニと格闘してます。

このときぼくはもうカニを食べ終わって、手もあらってすっきりしてました。
カニのあと手をあらってすっきりすると、なんかJavaOneでのすべてのイベントが終わった感じになります。


食後のデザート。このクリームブリュレを、パリっと割りたかったのです。


ということで、カニパーティーも終了。
ダウンタウンに戻ります。


忘れ物コーナーが24時までってことだったので、時間ぎりぎりを狙いつつモスコニに戻ってみたら、鍵がかかってて、警備の人にもうだれもいないから明日こいと言われました。
モスコニももう片づけがはじまってました。


ということでJavaOne終了。また来年。