のた犬のうまい猫めし

どら猫が作る、のた犬のための飯、略称、どら飯について語りつつ、各種技術、経済系セミナーに参加した報告、OSSいじってみた等のネタを入れていきます。更新情報はtwitterの@nota_inuにて。

JavaOne 2014 報告会「JavaOneで聞いた内容+知っておいてほしいこと」オラクル寺田 佳央氏

JavaOne 2014 報告会「JavaOneで聞いた内容+知っておいてほしいこと」オラクル寺田 佳央氏

資料:

JavaOne 2014 San Francisco Report

 

  • 今年はサンフランシスコ。9/28-10/2

  • JavaOne参加者数は9010人。アジアからは5%。19回めのJavaOneOracleになっても継続的に進化している。

  • JSRの1つづつの仕様を管理しているのがJCP。いろいろな改善を行っている。もっとコミュニティの人が仕様のフィードバックを言いやすいように。もっと次のJavaを良い物にするためにJCP自身が改革しようとしている。JCP.next。JCPは15周年。それを祝うイベントもJavaOneでは多かった。

  • 日本において新しいJUGは出ていないが、世界的には80くらいのJUG(JavaUsersGroup)ができている。

  • JavaME8正式リリース。JSR366が承認された。

JDK8の新機能
  • 2014/3リリース。JavaSE8の本は8カ国80冊の本が出版済み。
  • JavaSE8。Lambda、StreamAPI。Java自身を近代化するための大きな一歩。(JavaLanguge、JavaLibraries。)過去最大のUpgrade。
  • ゴールドマン・サックスはLambdaをUnitテストコードに採用。テストコードを9%削減。(10.5万→9.5万。)彼ら自身がJava8リリース前に掴んで対応しやすいコードを書いていた。適切に使うと可読性向上、テスト効率化ができる。
  • パフォーマンスもどんどん向上。Java8でも上げてきている。Fork/Joinの改良、高速なAtomic変数、並列処理ライブラリで、SPECjbb2013によるパフォーマンスチェックで40%以上改良できた。
  • セキュリティもJavaに関してちゃんとやっていく@Oracle。機能面、システム管理者用、Applet、WebStart。年に4回セキュリティ対応。2015/1/20、4/14、7/14、10/20にクリティカルパッチ対応予定。このUpdateは極力VersionUPを行うようプランニングしてほしい。
  • JavaSE8u20で、JavaSEAdvanced/Suite契約締結社用に、AdvancedManagementConsole提供。サーバ側で一元的に情報収集ができる。アクセスさせたくないものがあればURLなどの情報を元にアクセス制限をつけるルールの設定、配布が可能。特定のVersion(古いやつとか)で動かすように設定も可能。(ちょっと設定は面倒? 機能改善をする予定だとか。将来的にももっと使いやすくなるかも?)
Java Emdedded
  • 今年一年で適用範囲が広がった。50万ダウンロード。業界全体で対応体制。20以上のポーティング、オンライン学習サイトもあり。
  • Java ME Embedded8、8.1EAのリリース情報も発表された。
Javaとモバイル
  • OracleMobileApplicationFramework、RoboVM、JavaCard等。Javaのコード一つでiOSでもAndroidでも動かせる機能の提供。(ただしOracle製品。)Apache Cordova経由でデバイス機能も利用可能。既に大手企業に導入済みだとか。
  • JavaSE8&JavaFX8をモバイル環境で利用できるよう、RovoVMとLodgONが協力を発表。
JavaEE7
  • 世界中で幅広く使われている。世界的にもコミュニティが活発。
  • 開発生産性向上、HTML5対応、企業ニーズ、……に対応。
デモビデオ
  • センサー、デバイス、タッチスクリーン。クラウドに存在するJavaEEに対して。車(ダッシュボード、地図表示、音楽、ペダル、加速度、ファン、クライド接続ゲート。対話型タッチパッド。)FXsoundで音の生成。ダッシュボードディスプレイはJavaFX。IoTサーバ経由。広帯域の異なる消費者ビックデータ解析。バッテリ使用状況解析。デロリアン。88マイル。バッテリ交換の必要性を認識して携帯に警告を送り、メンテナンスまで予約する。
  • 実は途中で動かなくなり再起動とかで5分ほどかかったらしい。
  • JavaEmbeddedで管理。WebLogicGlassFishにリアルタイムで情報発信。今すべてJavaだけでできる。
  • 昨年は3Dチェス。
Java SEの将来
  • JavaSE9の予定:ProjectJigsaw。HTTP2.0、LightweightJSON、Cloud最適化JavaVM。JavaSEAdvanced用拡張機能
  • JDK EnhancementProposal(JDK拡張提案)を見るとJavaSE9に含まれる予定の機能が見える。(http://openjdk.java.net/jeps )それぞれがリスト化され、まとめられている。(JEP (じぇっぷ、と読む))-source、-targetオプションルール変更等。(JEP182)JavaSE8の時点でwarningが出る。JavaSE5以前のオプションを指定できなくなる。ソースコードが8で使えても9で動かせなくなる。次に何が起こるのかちゃんとウォッチして備える必要がある。
  • 更に先のJavaSEで、ProjectValhalla、ProjectPanama。(10かそれより先。)Valhalla:Value型追加。参照型オブジェクトに比べてメモリ使用量、パフォーマンス改善可能。型だけを定義したものがあった場合、collectionにつっこみforループで処理をして……の場合参照がヒープメモリに残っているのがオーバヘッドになっていたのをパフォーマンスよく。ジェネリクスにおけるプリミティブ型。PanamaはJVMからネイティブライブラリを呼び出す場合JNIをこれまで使っていたが、Javaのランタイムからもっと効率よくアクセスできるように。拡張を施す。
  • まだプロジェクトが立ち上がったばかり。
JavaEEの将来
  •  業界トレンドを注意深く観察している。次のEEを決めるためのアンケートを実施。
  • HTML5/Web層の拡張。JSONBinding、Actionベースの新MVC。簡単開発としてJAX-RSインジェク村、WebSocketスコープ、Cloud管理用インフラとしてREST API。JavaEESecurity1.0でセキュリティが簡単に書ける。
  • JavEE8はJSR366。JavaOne直前に投票があり満場一致。
  • コミュニティメンバの継続参加、フィードバックを依頼したい。日本のJJUGも参加しており、なんかいろいろ募集中だとか。(glassfish.org/contribute)
 その他
  •  JavaSE7は公式Updateが2015/4に終了(Public。)2014/10/14からデフォルトのJREが8に変更された。2015年の上半期に自動Update実施予定。
  • IntelJDKコミュニティに参加。Javaを走らす最適化が実施される?
  • JavaOneKidsも開催された。
  • SnapCode: 学習用のIDE&RADツール。子供向け。パズルのピースをドラッグ&ドロップで開發。
  • Oracle感謝祭ではエアロスミスのコンサート。
  • Parleysで録画済み全セッションが近日公開予定。(https://parleys.com/search/javaone
  • 2015年でJava20周年。30億デバイス、900万人開発者。
  • JavaOneではいろいろな発表だけではなくいろいろなレイヤーで受け取ることができるイベント。ノウハウを純粋に学びたい初心者向けセッション、次のJavaで起こることを知りたい場合、直接エンジニアと会話ができる。JavaのTOPの人たちにも声をかけられる場。いろいろなものを吸収できる。