ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

Javaのモジュール化(Project Jigsaw)とか

Java One 報告会2015の中間報告 PART2。さっきのつづきをメモメモ
(表題の件は、はじめのはなしの真ん中あたりから)




■JDK Update

・Why Java One
  課題:Javaの進化方向
  人物;誰が何の担当
  詳細:技術内容と事例

・現在のJDK状況
  JDK8が最新版
  OpenJDKはRedHatがメンテ
・JDK9が来年リリース
・JDK 9
  モジュール導入(じぐぞー)
 JDK 10+:HW,OSの最適化

・JDK9 jigsawとそれ以外

・Project Jigsaw以外の変更
 言語、ツール
  jshell
  JavaDoc Next
  クロスコンパイル Javac-release
  _1文字の命名禁止
  ワーニング
  コンパイル早く λで

・非互換の変更点
 バージョンのフォーマット
 _1文字の命名禁止
 ランタイムイメージ変更

・Project Jigsaw
 バックグラウンド
  JAR Hell
   紛失したライブラリがどれかわからない
   コンフリクトはどこで発生
   内部APIを安全に変更できる
  JARの抽象化
   モジュールの導入

 モジュール
  パッケージのコンテナ
  新たなコンテナによって
   依存関係

 モジュール作成
  パッケージとくらす
  もじゅーるいんふぉをつくる

  publicでもよめなくなる
  →アクセス制御
   everyoneかonly within a module

  サービスローダー

 →いままでのJarファイルも使える

・モジュール世代の実行方法
 コンパイル -d ディレクトリ

 依存module参照
 -modulepath mod1:mod2・・・
→複数モジュール同時コンパイル

 実行
  -m モジュール/メインクラス
  mがないとうごかない。

 依存モジュール確認
 -Xdiag:resolver

 modular Jarの作り方
  -C path/to/module

ClassPathしてい:後方互換性
  -cp ぱす

 別jarに依存:-addmods

 実行可能イメージ作成
  Linking
  jlink
   自分の作ったモジュールの場合

・自作アプリのモジュール対応
 依存ライブラリ確認 jdeps
 自作ライブラリのモジュール化 mylib
 Automatic modules
 メタ情報の自動生成
 コンパイル
 実行

・Jigsawの考え方
 シートベルトのようなもの




■Eclipse Collections by Example

・ロボット置いておくと寄ってくる

・なにものなのか
 ゴールドマンサックス いかにLoCを減らしたか

・GSコレクション
 コレクションフレームワーク
 GSコレクションズ Kata(かた)
 →ポジティブな流れ

・Eclipseコレクション

・Eclipse Collections Features
  Java8 Stream API→らむだと組み合わせて便利
  Eclipse Collectionsはもっと大きなモノ

・ハッシュセット→ハッシュマップをラップしただけ
 →メモリ効率悪い
 Eclipse Collectionは効率いい

・ホブソンの選択
JDKだと選択の余地なくMapのところを・・・
 プリミティブ:ボクシングするしかないところを

・メソッドリファレンス(メソッド参照)

・ストリーム:使いまわしできない
 EclipseCollection:いくらでもつかいまわし
・例外;らむだのとき




■JavaME & IoT フィードバック

・Update
 JavaME 8(8.1EA)→8.2
 →Linux対応

 SE エンベテッドは→セッションなし。
   コンパクトプロファイル or Jigsaw
 →Open JDKに

 らずべりーぱい「2」

・まとめ
 
・キーノートではエンベテッドのデモなし
 →IoT Votingする
 らずぱいをガムテープでとめる
 おしてもわかんない

・ごすりんだからゆるされる
 ファイルシステム
 printfきらい

・懇親会の宣伝