Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java 9 and Future #jjug

4,287 views

Published on

JavaOne 2017 報告会 at Japan Java User Group

デモのコード:https://github.com/ykubota/jigsaw-sample_jp

イベントページ:https://jjug.doorkeeper.jp/events/66256
Stream: https://www.youtube.com/watch?v=XT2tIh9r6Eo

slideshareが自動的にPDFに変換するように仕様変更されていたため、ノート付きでアップロードができませんでした。お手数をおかけしますが、原稿(簡単ですが…)を読んでみたい方は筆者までTwitterでDMかメールなどでご連絡お願いします。

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Java 9 and Future #jjug

  1. 1. Copyright©2017 NTT corp. All Rights Reserved. Java 9 and Future 2017年10月21日 NTT OSSセンタ 久保田 祐史
  2. 2. 2Copyright©2017 NTT corp. All Rights Reserved. •本セッション内容は公開されます • 資料はダウンロードできます。ざっくりです がノートに原稿も記載しています • https://www.slideshare.net/YujiKubota • 再アップロードできなくなったので一覧から… • デモに利用したコードは実行方法とあわせて 公開しています • github.com/ykubota/jigsaw-sample_jp • ぜひTwitterで #JJUG を付けて呟いて下さい • 難聴者の方などが理解する助けになります! 情報保障
  3. 3. 3Copyright©2017 NTT corp. All Rights Reserved. •KUBOTA Yuji (@sugarlife) • Java (OpenJDK) サポート担当 • OpenJDKバリバリ利用中 • OpenJDKコントリビュートしたり JavaOneやJJUGで喋ったり • WEB+DB v101で記事書きました •NTT OSSセンタ • NTTグループのOSS活用を支える部隊 • Kernel, PostgreSQL, Pacemaker, Tomcat, OpenJDK, and so on. • 各種コントリビューター揃えております Who I am
  4. 4. 4Copyright©2017 NTT corp. All Rights Reserved. •2017/9/21 リリース! Java 9
  5. 5. 5Copyright©2017 NTT corp. All Rights Reserved. •1ヵ月が経ちましたが… •プロダクションで使っている人 •手元で使ってみた人 •Java 9について調べてみた人 Java 9
  6. 6. 6Copyright©2017 NTT corp. All Rights Reserved. •Java 9の調べ方 •Java 9のメイン新機能を少し詳 しく •デモンストレーション •次のJavaをチラ見 •Java 18.3 今日お話しすること
  7. 7. 7Copyright©2017 NTT corp. All Rights Reserved. • Java Enhancement Proposal(JEP)を見る • http://openjdk.java.net/projects/jdk9/ • bugzillaで検索 (issuetype=JEP) 追加された機能の確認方法
  8. 8. 8Copyright©2017 NTT corp. All Rights Reserved. •Migration Guideを読む • https://docs.oracle.com/javase/9/migra te/toc.htm • メジャーバージョンリリース時にOracle社よ り提供されている • 基本的なマイグレーション手順や移行時に問 題となりそうな大きな非互換性が紹介されて いる 移行する際に注意するポイントは?
  9. 9. 9Copyright©2017 NTT corp. All Rights Reserved. 全体的な解説
  10. 10. 10Copyright©2017 NTT corp. All Rights Reserved. 全体的な解説
  11. 11. 11Copyright©2017 NTT corp. All Rights Reserved. • SpecificationやRelease Noteを読む • JSR 379(Java SE 9) API Specification Change Summary • bugzillaで検索 (labels=release-note) より細かく見る(サポートレベル)
  12. 12. 12Copyright©2017 NTT corp. All Rights Reserved. トラブルシュータは必須
  13. 13. 13Copyright©2017 NTT corp. All Rights Reserved. • モジュール化(Project Jigsaw) • 柔軟な可視性設定と依存性管理ができる • RPEL (JShell) • 待望のJavaインタプリタ • ライブラリ改善 • Collection 初期化、Stream機能拡張、等 • セキュリティ強化 • ALPN対応、DRBG追加、SHA-3対応 • 付属ツールの刷新(診断とコンパイル) • jcmd, jhsdb, jaot(AoT Compilation) • G1 GCやコンパイラなどの性能改善 メリットの一部
  14. 14. 14Copyright©2017 NTT corp. All Rights Reserved. • モジュール化(Project Jigsaw) • 柔軟な可視性設定と依存性管理ができる • RPEL (JShell) • 待望のJavaインタプリタ • ライブラリ改善 • Collection 初期化、Stream機能拡張、等 • セキュリティ強化 • ALPN対応、DRBG追加、SHA-3対応 • 付属ツールの刷新(診断とコンパイル) • jcmd, jhsdb, jaot(AoT Compilation) • G1 GCやコンパイラなどの性能改善 メイン新機能
  15. 15. 15Copyright©2017 NTT corp. All Rights Reserved. Demonstration
  16. 16. 16Copyright©2017 NTT corp. All Rights Reserved. • Java SE 18.3 (JSR 383) 次のJava
  17. 17. 17Copyright©2017 NTT corp. All Rights Reserved. • JDK Project • http://openjdk.java.net/projects/jdk/ どこで管理?
  18. 18. 18Copyright©2017 NTT corp. All Rights Reserved. スケジュールと機能
  19. 19. 19Copyright©2017 NTT corp. All Rights Reserved. • Java SE 18.3 (JSR 383) • JEP 286: Local-Variable Type Inference •Project Amber • Future • Project Panama • Project Valhalla • Project Loom (投票中) • Project Metropolis (投票中) •リポジトリやバイナリ(EA)は独立予定 • それぞれで試せる予定。JEP286はjdk10でも 新機能(予定)
  20. 20. 20Copyright©2017 NTT corp. All Rights Reserved. • JEP 286: Local-Variable Type Inference Project Amber URL url = new URL("http://java.net"); URLConnection conn = url.openConnection(); Scanner scanner = new Scanner(conn.getInputStream());
  21. 21. 21Copyright©2017 NTT corp. All Rights Reserved. • JEP 286: Local-Variable Type Inference Project Amber var url = new URL("http://java.net"); var conn = url.openConnection(); var scanner = new Scanner(conn.getInputStream());
  22. 22. 22Copyright©2017 NTT corp. All Rights Reserved. • JEP 305: Pattern matching Project Amber String formatted = "unknown"; if (obj instanceof Integer) { int i = (Integer) obj; formatted = String.format("int %d", i); } else if (obj instanceof Byte) { byte b = (Byte) input; formatted = String.format("byte %b", b); } else if (obj instanceof Long) { : } else formatted = String.format("Unknown %s", obj);
  23. 23. 23Copyright©2017 NTT corp. All Rights Reserved. • JEP 305: Pattern matching Project Amber String formatted; switch (obj) { case Integer i: formatted = String.format ("int %d", i); break; case Byte b: formatted = String.format("byte %b", b); break; case Long l: : default: formatted = String.format("Unknown %s", obj); }
  24. 24. 24Copyright©2017 NTT corp. All Rights Reserved. • JEP 305: Pattern matching Project Amber String formatted = switch (obj) { case Integer i -> String.format("int %d", i); case Byte b -> String.format("byte %d", b); case Long l -> String.format("long %d", l); : default -> String.format("Unknown %s", obj); };
  25. 25. 25Copyright©2017 NTT corp. All Rights Reserved. • JEP 301: Enhanced Enums Project Amber public enum JDKNumber { YEAR(18), FULL(18.3); public final Number version; JDKNumber(Number version) { this.version = version; } } float jdkversion = (float)JDKNumber.FULL.version;
  26. 26. 26Copyright©2017 NTT corp. All Rights Reserved. • JEP 301: Enhanced Enums Project Amber public enum JDKNumber<T extends Number> { YEAR<Integer>(18), FULL<Float>(18.3); public final T version; JDKNumber(T version) { this.version = version; } } float jdkversion = JDKNumber.FULL.version;
  27. 27. 27Copyright©2017 NTT corp. All Rights Reserved. • JEP 301: Enhanced Enums Project Amber public enum JDKNumber<T extends Number> { YEAR<Integer>(18), FULL<Float>(18.3); public final T version; JDKNumber(T version) { this.version = version; } } float jdkversion = JDKNumber.FULL.version; 他にも列挙型を改善予定
  28. 28. 28Copyright©2017 NTT corp. All Rights Reserved. • その他 • JEP 302 Lambda Leftovers • 使ってないパラメータの記述省エネ化、重複変数の利 用制限撤廃、メソッドのオーバーロード許容、etc • Other future JEPs • 情報 • Mailing List http://mail.openjdk.java.net/mailman/listinfo/ amber-dev • Project Page http://openjdk.java.net/projects/amber/ Project Amber
  29. 29. 29Copyright©2017 NTT corp. All Rights Reserved. •Question? •@sugarlife or #JJUG •kubota.yuji@gmail.com

×