Java Day Tokyo 2013 に行ってきました。
その時のレポートを書きたいと思います。
まずはキーノートです。
これからはJava ME Embedded。小型の組み込み市場への導入を加速させる。
それは昔、サーバーの市場をJavaEEで満たしたように。とおっしゃっていました。
期待しましょう。
それとJDK8の話をしていました。
正式版のリリース予定は2014年2月で、今後は2年サイクルでメジャーバージョンを
上げていく予定との事です。JDK9は2016年2月ということになります。
JDK8に組み込まれた主要なものとしてラムダ(Lambda)式の導入がありました。
ラムダ式というとコードをより簡素にスマートに記述できるのがメインであると感じられるが
実際はもっと重要な効果があるようです。
それは今時のコンピューターにはマルチコアなCPUが当たり前で、同時に複数の処理をこなす
事があたりまえの時代なのですが、ラムダ式の効果は「もっと効率的にCPUを使おうよ」
ということらしいです。それもThreadのような大きな単位ではなくてもっと細かい処理の単位で
パラレル処理が行えるようです。
ラムダ式については試してみたいと思っています。
JDK8のearly releaseが以下からダウンロードできます。
https://jdk8.java.net/download.html
あとは、JavaFX。
JavaFXがJavaの標準GUIライブラリとして採用されましたので、デスクトップアプリケーション等の
UIはJavaFXで書くことになっていくのかなと思いました。
数年前に名前を聞いたっきりあまり聞かなかったのですが、JDKの標準に組み込まれ更に進化
していたようでこれも少し興味がわいてきました。
JavaFXスクリプトで記述する必要があったのですが、もうそのスクリプトは廃止されJavaのAPIとしてJavaFXが使えるようになったようです。
・多彩なGUI部品を持っています。例えばチャートなど
・ハードウェアアクセラレーションを使った高速なレンダリング
・H.264のサポート、動画再生のAPI
面白そうですね。
最後にJaveEEでWebSocketに対応する(JavaEE7 finalリリースはあと少し)との事です。
今までサーバーから情報をクライアントに渡す場合(PUSH)、クライアントからしか接続
できないので、ポーリングやロングポーリング等で「ごまかしていた」わけです。
それがwebSocketにより完全な全二重通信が可能になるわけですね。
webSocketは当然httpとは別のプロトコルなので、http通信をトリガとしてプロトコルを
upgradeしてあげる必要があります。
httpヘッダの最初の要求には
Upgrade: websocket Connection: Upgrade
と書かれてます。これがhttpプロトコルをwebsocketプロトコルにupgradeするということです。
upgradeされたらhttpのプロトコルに従う必要はなくなるわけです。
例えばhttp requestに対して必ずhttp responseを返す等というルールに従う必要はありません。
サーバーが一方的にクライアントに対してデータを定期的に送りつけるという事ができます。
websocketを使うと通信のオーバーヘッドがとても少なくすみ効率的です。
Arun Guptaさんは実際にエコーサーバーを使ってどれだけの違いがあるか試して頂けました。
100byteのペイロードを1000回エコー要求した場合
http req/resp では8198msec
websocket では 248msec
8.2秒と0.2秒。ここまで差がついてしまうとは驚きでした。
glassFish4.0等で試す事ができますので興味ある方はどうぞ。
最後にJJUGグループに参加して皆でjavaを創っていきましょう!とのことでした。
日本JJUGグループ
http://www.java-users.jp/
それでは失礼致します。
0 件のコメント:
コメントを投稿