今年の Duke はなぜか元気いっぱい。いないことになっている中の人によるのでしょうけどね ^ ^;;
それにしても、新しい Duke の着ぐるみはなんかイマイチ。そんなところに大々的に網をつけなくてもいいと思うんだけどなぁ。確かに、前のは視界が悪いのは分かっていたけど、ここまであからさまにすることもないと思う。
ということで、今日、聴講したセッション
- Lambda: A Peek under the Hood [CON4180]
- Going Native: Bringing FFI to the JVM [CON3979]
- The Modular Java Platform and Project Jigsaw [CON5435]
- Productive JavaFX 8 [CON2265]
- The New Real-Time Specification for Java [BOF4957]
- Troubleshooting with Serviceability and the New Runtime Monitoring Tool HeapStats [BOF3108]
朝イチのチュートリアルはおもしろそうなのがなかったので、自主休講
Lambda: A Peek Under the Hood [CON4180]
おなじみの Brian Goetz。今年は Project Lambda 系のセッションを全然聴講しなかったで、Brian のセッションはこれだけです。
しかし、ほとんど去年と同じでした。まぁ、Lambda Expression の中身がそんなに変わるわけがないので、あたりまえといえば、あたりまえなんですが。というか、3 年連続で同じ内容のセッションを聞いていました。
もうどういうセッションをとるか、学習しよう。
一緒に bitter_fox さんと聴講していていたのですが、セッション後 Brian と写真を撮りたいというので、カメラマン役。もちろん、Brian は bitter_fox さんのことは認識していて、OK をもらいました。
ちゃんと撮れて、よかった、よかった。
Going Native: Bringing FFI to the JVM [CON3979]
JRuby の Charles Nutter のセッション。Charles だからとったセッションなのですが、たまたま、Java SE 9 の注目プロジェクトである Project Panama の中心構成要素である FFI の話でした。
セッションサーチで Panama をキーワードにしても、何も出てこなかったのですが、まさかこんな形で聴講できるとはラッキーです。
Panama は JNI に変わるネイティブコードを実行するためのフレームワークを構築するためのプロジェクトで、Array 2.0 なども含まれています。以前は JNI の次は JNA だと思っていたのですが、どうも違ったらしいです。
で、Charles たちが提案しているのが、JNR。そして、その基盤となっている層が FFI というわけです。FFI は Foreign Function Interface の略で、すでに github でプロジェクトも公開しているようです。
https://github.com/jnr/jffi
カバーしている OS や CPU も幅広く、一覧表をだして、ここに載ってないのがあるなら教えてほしいといっていたぐらい。でも、HP-UX が抜けてましたww
ただし、FFI は直接開発者が使う API ではなく、あくまでも JNR の基盤です。使うのは JNR。
JNR では C の #define 的なものが使えたり、POSIX の API をコールできるようにしてあります。その他にも Unix Socket などを使えるようです。
パフォーマンスも、JNA の 10 倍速いというではないですか! まぁ、すべての場合ではないようですけど。
それにしても Charles 早口!
Brian も早口だけど Charles も早い。早口のセッションを連続で受けると、疲れます ><
The Modular Java Platform and Project Jigsaw [CON5435]
スピーカーは Mark Reinhold と Alan Bateman。しゃべりはもっぱら Mark で、Alan はデモのみというのも、だいたいおきまりのパターンです。
Jigsaw はほんとになかなか決まらないのですが、どうやらやっとちゃんと動き始めた様子。OpenJDK の Jigsaw の ML も最近流通量が増えてきているので、Java SE 9 に向けて再び動き始めたようです。
しかし、どうやらかなりシュリンクした模様。
というか、今まで風呂敷を広げすぎていた感があるので、これはこれで歓迎すべきでしょう。
で、今まで jmod だ、 jpkg だといろいろコマンドが並べられていましたが、jlink に統一したようです。ファイル名は jmod のままのようですが。
そして、依存関係もファイルとして記述していたのをやめたようです。
おもしろいのが、jlink で JVM Image を作れるようになったこと。アプリケーションで使用する最低限のモジュールで構成されたイメージを作れるデモをやっていました。
いまいち jlink でどこまでできるのか把握していないので、帰国したら調べてみようっと。
Productive JavaFX 8 [CON2265]
スピーカーは Adam Bien。
この人はカバーする範囲がすごい広い人で、Java SE や JavaFX から Java EE まで、なんでも知っている人。このセッションではどうやって、JavaFX で MVP と DI でアプリを作るかという話だったのですが....
しかも、資料ははじめの 2 枚だけで、後はライブコーディングだけ。
そして、去年と内容が一緒だというのです。なんだかなぁ....
ちなみにサンプルは公開されていて、Maven の groupID が com.airhacks、artifactId が afterburner.fx だそうです。
彼の方式だと、P を先に作って、それから View に相当するクラスを作成し、そこから FXML をロードしています。ライブコーディングだけなので、イマイチ分からないのですが FXML のコントローラはどうなっていたんだろう。
M につなげるために、P に DI でインジェクションするようです。
ライブコーディングの様子をすべて写真に撮ったわけではないので、内容をよく思い出せず。ライブコーディングもいいんですけど、要所要所はちゃんと資料で説明してほしいなぁ....
The New Real-Time Specification for Java [BOF4957]
ここから BOF。このセッションも 10 人ぐらい。リアルタイムの話だから聴講者が少ないのはわかるけど、他の BOF も同じようなものだったらしいです。ほんと BOF はどうにかならないのかなぁ....
スピーカーは James J. Hunt。大学の先生なのかな?
Java でリアルタイムというと JSR 001 ですが、さすがにもう時間が経ちすぎているので、RTSJ 2.0 を提唱しています。でも、聴講者でリアルタイムプログラミングをやった人は 3 人ぐらい、RTSJ 1.0 を知っている人は関係者のみらしく、スピーカーのテンションがダダ下がりでした。
RTSJ 1.0 ではメモリ空間をソフト RT とハード RT に分けて、ソフト RT は専用の GC、ハード RT は GC を行わないという構成だったのですが、RTSJ 2.0 はどうやらスコープが全然違う模様。
確かに、CPU の性能も上がっているし、ソフト RT だけでカバーできる範囲は広がっているのかもしれません。その他にも割り込みイベントの話などをしてました。
Troubleshooting with Serviceability and the New Runtime Monitoring Tool HeapStats [BOF3108]
もともとは、この裏の Project Sumatra のセッションに出るつもりだったのですが、予定を変更して高尾さんと sugarlife さんの HeapStats のセッションへ。
このセッションも 15 人ぐらい。登録では 60 人以上いたということらしいのですが、なんでこんなにも減ってしまったのか....
HeapStats はヒープの使用量などをモニタできるツールです。ツールはなかなか高性能でおもしろいのですが、セッションはもうtyとと考えた方がよかったかもしれません。
まず、2 人とも座っていたのが.... やっぱり立ってやらないとダメなんですよね。座っているのは守りになってしまうのです。攻めにいかないと。
そして、ネイティブの言語でないのでしかたがないとは思うのですが、原稿を読んでいるのが....
セッションの内容も、もうちょっと工夫できたと思います。
ぜひ来年、再挑戦してほしいです。
ちなみに、最後の 2 枚はセッションが終わった後で、やらせで撮った写真。セッション終わったので、2 人とも表情に余裕がありますね。セッション中はかなり怖い顔をしていたのに ^ ^;;
この後、もう 1 つ BOF に出るつもりだったのですが、10 人ぐらいの BOF って英語が苦手な人にはなかなかつらいのです。
というのも、BOF が議論になってしまうから。そういうグループでの会話は一番苦手。ほんと何を話しているのか全然聞き取れません。急に話題を振ってもらっても答えられないし....
ということで、自主的にキャンセルして sugarlife さんたちとごはんに行きました。
ここでもいろいろあったのですが、それはまた後で追加します。