JavaSE 7 リリース

パッケージJava製品開発担当の大です。こんにちは。

先月28日、JavaSE 7が正式にリリースされました。実に約5年ぶりのメジャーバージョンアップです。
HOSでも現在、動作検証を進めております。JavaSE 7のリリースに先立ってリリースした新製品「シーオーリポーツ for Java Ver.2」と、「帳票クリエータ Ver.2 for Java」では、検証が終わり次第、対応プラットフォームとしてJavaSE 7を加える予定です(旧製品では対応の予定は今のところありません)。いましばらくお待ちください。

さて先週は、JavaSE 7のリリースを記念して、コミュニティ主催のイベントが開かれたので、参加してきました。

日本オラクル中部支社さんのエントランス。

日本オラクル中部支社さんのエントランス。綺麗です。

今回のイベント会場の日本オラクル中部支社さんには初めて行きましたが、落ち着いた清潔な感じのオフィスで、居心地が良かったです。ドリンクの自販機無料だし(飲まなかったけど)。
セミナールームも各席にディスプレイがあって、プロジェクタに映している内容が目の前でも見れるので、資料も見やすくて快適でした。

イベントのメインは、日本オラクルのJavaエバンジェリストの寺田さんによるJavaSE 7のお話と、Java In The Boxの桜庭さんによるJavaFX 2.0のお話でした。

寺田さんによるJavaSE 7のお話

内容は寺田さんのブログにあるものとほぼ同じでしたので、ここでは割愛します。
個人的に気になった話は、以下のとおりです。

  • Java7で用意されているMethodHandleで、実はパフォーマンスがあまり良くなっていないという話。従来のリフレクションを置き換えるものだそうで、速度改善につながるなら是非導入したいところなんですが。。。今後も要調査。
  • HotSpot JVMとJRockit JVMがマージされてHotRockit(仮称)なるものが開発中という話。JRockitの「フライトレコーダ」や「ミッションコントロール」といった優秀な(有償の)解析ツールが、マージされたVMでも使えるようになるようなので、今後の動向に注目です。
  • HotSpot JVMのループ最適化のバグにより、Apache Lucene/Solrが動作しない件[参照: Lucene/SolrをJava 7で使うときの注意(あるいはJava 6以前でもホットスポットのバグを踏む可能性あり)]。この件は次のアップデートで改善されるそうですが。。。
  • JavaSE8の動向。クラスパスの排除という話がちらっと出てきたけど、どういうものなんだろう?あと、モジュール化仕様のosgiとの整合性も気になるところです。
Tシャツもらいました!

Tシャツもらいました!DukeにもOracleのロゴが...

桜庭さんによるJavaFX 2.0のお話

JavaFXは、1.0にあったJavaFX Scriptがなくなったことは事前に知っていたので、もう今後はあまり期待できないのかと悲観していたのですが、全然そんなことはなくて、むしろプロダクトがスリム化されてリソースが集中できるようになったため、開発スピードが上がっているとのこと。現在は2.0正式版リリース(9月予定)にむけて、開発が進められているそうです。

目新しいトピックとしては、FXMLというXMLベースの定義ファイルの採用がすすめられていること[参照: Introducing FXML]。FlexのMXMLやSilverlightのXAMLのように、GUI定義はXMLで、アクションはJavaで、というスタイルも可能になるようです。これはわりと納得できる方向性で、にわかに楽しみになってきました。ただ、現在はまだ仕様もはっきりしていないので、もう少し固まってきたら手を出してみたいなぁと思います。

また、JavaFX2.0ではWebKitエンジンが搭載されるため、HTML5/CSS3がレンダリングできるようになります。そうすると、現在Javaでは表現しきれない部分(日本語の縦書きなど)も、HTML5として表示してしまったほうがうまくいくようになるかもしれません。まだまだ夢想段階ですが。。。

JavaFXサンプル

NetBeansのJavaFXプラグインに入ってるサンプル。

懇親会

お二人の発表のあとは、懇親会でした。
懇親会会場に向かう途中、参加者の方のひとりにふいに名前を呼ばれて驚きました。うちのお客様でした。数年前に一度お会いしただけなのに、覚えてていただいてありがたかったです。
逆にお名前も会社名も思い出せなくて大変失礼しました。。。

懇親会では、VisualVMのVisualGCプラグイン[参照: Visual VM Plugins]を使用したSurvivorの監視の話や、職場へのTDD導入の話など、なかなかディープな話で盛り上がりました。楽しかったです。みなさんすごく勉強熱心で、自分ももっと頑張らなくちゃなーと思った1日でした。