java 9 and future #jjug
TRANSCRIPT
Copyrightcopy2017 NTT corp All Rights Reserved
Java 9 and Future
2017年10月21日NTT OSSセンタ 久保田 祐史
2Copyrightcopy2017 NTT corp All Rights Reserved
bull本セッション内容は公開されます
bull資料はダウンロードできますざっくりですがノートに原稿も記載しています
bull httpswwwslidesharenetYujiKubota
bull再アップロードできなくなったので一覧からhellip
bullデモに利用したコードは実行方法とあわせて公開しています
bull githubcomykubotajigsaw-sample_jp
bullぜひTwitterで JJUG を付けて呟いて下さい
bull難聴者の方などが理解する助けになります
情報保障
3Copyrightcopy2017 NTT corp All Rights Reserved
bullKUBOTA Yuji (sugarlife)
bull Java (OpenJDK) サポート担当
bullOpenJDKバリバリ利用中
bullOpenJDKコントリビュートしたりJavaOneやJJUGで喋ったり
bullWEB+DB v101で記事書きました
bullNTT OSSセンタ
bullNTTグループのOSS活用を支える部隊
bullKernel PostgreSQL Pacemaker Tomcat OpenJDK and so on
bull各種コントリビューター揃えております
Who I am
4Copyrightcopy2017 NTT corp All Rights Reserved
bull2017921 リリース
Java 9
5Copyrightcopy2017 NTT corp All Rights Reserved
bull1ヵ月が経ちましたがhellip
bullプロダクションで使っている人
bull手元で使ってみた人
bullJava 9について調べてみた人
Java 9
6Copyrightcopy2017 NTT corp All Rights Reserved
bullJava 9の調べ方
bullJava 9のメイン新機能を少し詳しく
bullデモンストレーション
bull次のJavaをチラ見
bullJava 183
今日お話しすること
7Copyrightcopy2017 NTT corp All Rights Reserved
bullJava Enhancement Proposal(JEP)を見る
bullhttpopenjdkjavanetprojectsjdk9
bullbugzillaで検索 (issuetype=JEP)
追加された機能の確認方法
8Copyrightcopy2017 NTT corp All Rights Reserved
bullMigration Guideを読む
bullhttpsdocsoraclecomjavase9migratetochtm
bullメジャーバージョンリリース時にOracle社より提供されている
bull基本的なマイグレーション手順や移行時に問題となりそうな大きな非互換性が紹介されている
移行する際に注意するポイントは
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
2Copyrightcopy2017 NTT corp All Rights Reserved
bull本セッション内容は公開されます
bull資料はダウンロードできますざっくりですがノートに原稿も記載しています
bull httpswwwslidesharenetYujiKubota
bull再アップロードできなくなったので一覧からhellip
bullデモに利用したコードは実行方法とあわせて公開しています
bull githubcomykubotajigsaw-sample_jp
bullぜひTwitterで JJUG を付けて呟いて下さい
bull難聴者の方などが理解する助けになります
情報保障
3Copyrightcopy2017 NTT corp All Rights Reserved
bullKUBOTA Yuji (sugarlife)
bull Java (OpenJDK) サポート担当
bullOpenJDKバリバリ利用中
bullOpenJDKコントリビュートしたりJavaOneやJJUGで喋ったり
bullWEB+DB v101で記事書きました
bullNTT OSSセンタ
bullNTTグループのOSS活用を支える部隊
bullKernel PostgreSQL Pacemaker Tomcat OpenJDK and so on
bull各種コントリビューター揃えております
Who I am
4Copyrightcopy2017 NTT corp All Rights Reserved
bull2017921 リリース
Java 9
5Copyrightcopy2017 NTT corp All Rights Reserved
bull1ヵ月が経ちましたがhellip
bullプロダクションで使っている人
bull手元で使ってみた人
bullJava 9について調べてみた人
Java 9
6Copyrightcopy2017 NTT corp All Rights Reserved
bullJava 9の調べ方
bullJava 9のメイン新機能を少し詳しく
bullデモンストレーション
bull次のJavaをチラ見
bullJava 183
今日お話しすること
7Copyrightcopy2017 NTT corp All Rights Reserved
bullJava Enhancement Proposal(JEP)を見る
bullhttpopenjdkjavanetprojectsjdk9
bullbugzillaで検索 (issuetype=JEP)
追加された機能の確認方法
8Copyrightcopy2017 NTT corp All Rights Reserved
bullMigration Guideを読む
bullhttpsdocsoraclecomjavase9migratetochtm
bullメジャーバージョンリリース時にOracle社より提供されている
bull基本的なマイグレーション手順や移行時に問題となりそうな大きな非互換性が紹介されている
移行する際に注意するポイントは
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
3Copyrightcopy2017 NTT corp All Rights Reserved
bullKUBOTA Yuji (sugarlife)
bull Java (OpenJDK) サポート担当
bullOpenJDKバリバリ利用中
bullOpenJDKコントリビュートしたりJavaOneやJJUGで喋ったり
bullWEB+DB v101で記事書きました
bullNTT OSSセンタ
bullNTTグループのOSS活用を支える部隊
bullKernel PostgreSQL Pacemaker Tomcat OpenJDK and so on
bull各種コントリビューター揃えております
Who I am
4Copyrightcopy2017 NTT corp All Rights Reserved
bull2017921 リリース
Java 9
5Copyrightcopy2017 NTT corp All Rights Reserved
bull1ヵ月が経ちましたがhellip
bullプロダクションで使っている人
bull手元で使ってみた人
bullJava 9について調べてみた人
Java 9
6Copyrightcopy2017 NTT corp All Rights Reserved
bullJava 9の調べ方
bullJava 9のメイン新機能を少し詳しく
bullデモンストレーション
bull次のJavaをチラ見
bullJava 183
今日お話しすること
7Copyrightcopy2017 NTT corp All Rights Reserved
bullJava Enhancement Proposal(JEP)を見る
bullhttpopenjdkjavanetprojectsjdk9
bullbugzillaで検索 (issuetype=JEP)
追加された機能の確認方法
8Copyrightcopy2017 NTT corp All Rights Reserved
bullMigration Guideを読む
bullhttpsdocsoraclecomjavase9migratetochtm
bullメジャーバージョンリリース時にOracle社より提供されている
bull基本的なマイグレーション手順や移行時に問題となりそうな大きな非互換性が紹介されている
移行する際に注意するポイントは
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
4Copyrightcopy2017 NTT corp All Rights Reserved
bull2017921 リリース
Java 9
5Copyrightcopy2017 NTT corp All Rights Reserved
bull1ヵ月が経ちましたがhellip
bullプロダクションで使っている人
bull手元で使ってみた人
bullJava 9について調べてみた人
Java 9
6Copyrightcopy2017 NTT corp All Rights Reserved
bullJava 9の調べ方
bullJava 9のメイン新機能を少し詳しく
bullデモンストレーション
bull次のJavaをチラ見
bullJava 183
今日お話しすること
7Copyrightcopy2017 NTT corp All Rights Reserved
bullJava Enhancement Proposal(JEP)を見る
bullhttpopenjdkjavanetprojectsjdk9
bullbugzillaで検索 (issuetype=JEP)
追加された機能の確認方法
8Copyrightcopy2017 NTT corp All Rights Reserved
bullMigration Guideを読む
bullhttpsdocsoraclecomjavase9migratetochtm
bullメジャーバージョンリリース時にOracle社より提供されている
bull基本的なマイグレーション手順や移行時に問題となりそうな大きな非互換性が紹介されている
移行する際に注意するポイントは
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
5Copyrightcopy2017 NTT corp All Rights Reserved
bull1ヵ月が経ちましたがhellip
bullプロダクションで使っている人
bull手元で使ってみた人
bullJava 9について調べてみた人
Java 9
6Copyrightcopy2017 NTT corp All Rights Reserved
bullJava 9の調べ方
bullJava 9のメイン新機能を少し詳しく
bullデモンストレーション
bull次のJavaをチラ見
bullJava 183
今日お話しすること
7Copyrightcopy2017 NTT corp All Rights Reserved
bullJava Enhancement Proposal(JEP)を見る
bullhttpopenjdkjavanetprojectsjdk9
bullbugzillaで検索 (issuetype=JEP)
追加された機能の確認方法
8Copyrightcopy2017 NTT corp All Rights Reserved
bullMigration Guideを読む
bullhttpsdocsoraclecomjavase9migratetochtm
bullメジャーバージョンリリース時にOracle社より提供されている
bull基本的なマイグレーション手順や移行時に問題となりそうな大きな非互換性が紹介されている
移行する際に注意するポイントは
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
6Copyrightcopy2017 NTT corp All Rights Reserved
bullJava 9の調べ方
bullJava 9のメイン新機能を少し詳しく
bullデモンストレーション
bull次のJavaをチラ見
bullJava 183
今日お話しすること
7Copyrightcopy2017 NTT corp All Rights Reserved
bullJava Enhancement Proposal(JEP)を見る
bullhttpopenjdkjavanetprojectsjdk9
bullbugzillaで検索 (issuetype=JEP)
追加された機能の確認方法
8Copyrightcopy2017 NTT corp All Rights Reserved
bullMigration Guideを読む
bullhttpsdocsoraclecomjavase9migratetochtm
bullメジャーバージョンリリース時にOracle社より提供されている
bull基本的なマイグレーション手順や移行時に問題となりそうな大きな非互換性が紹介されている
移行する際に注意するポイントは
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
7Copyrightcopy2017 NTT corp All Rights Reserved
bullJava Enhancement Proposal(JEP)を見る
bullhttpopenjdkjavanetprojectsjdk9
bullbugzillaで検索 (issuetype=JEP)
追加された機能の確認方法
8Copyrightcopy2017 NTT corp All Rights Reserved
bullMigration Guideを読む
bullhttpsdocsoraclecomjavase9migratetochtm
bullメジャーバージョンリリース時にOracle社より提供されている
bull基本的なマイグレーション手順や移行時に問題となりそうな大きな非互換性が紹介されている
移行する際に注意するポイントは
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
8Copyrightcopy2017 NTT corp All Rights Reserved
bullMigration Guideを読む
bullhttpsdocsoraclecomjavase9migratetochtm
bullメジャーバージョンリリース時にOracle社より提供されている
bull基本的なマイグレーション手順や移行時に問題となりそうな大きな非互換性が紹介されている
移行する際に注意するポイントは
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
9Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
10Copyrightcopy2017 NTT corp All Rights Reserved
全体的な解説
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
11Copyrightcopy2017 NTT corp All Rights Reserved
bullSpecificationやRelease Noteを読む
bull JSR 379(Java SE 9) API Specification Change Summary
bullbugzillaで検索 (labels=release-note)
より細かく見る(サポートレベル)
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
12Copyrightcopy2017 NTT corp All Rights Reserved
トラブルシュータは必須
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
13Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メリットの一部
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
14Copyrightcopy2017 NTT corp All Rights Reserved
bullモジュール化(Project Jigsaw)
bull柔軟な可視性設定と依存性管理ができる
bullRPEL (JShell)
bull待望のJavaインタプリタ
bullライブラリ改善
bull Collection 初期化Stream機能拡張等
bullセキュリティ強化
bull ALPN対応DRBG追加SHA-3対応
bull付属ツールの刷新(診断とコンパイル)
bull jcmd jhsdb jaot(AoT Compilation)
bullG1 GCやコンパイラなどの性能改善
メイン新機能
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
15Copyrightcopy2017 NTT corp All Rights Reserved
Demonstration
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
16Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
次のJava
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
17Copyrightcopy2017 NTT corp All Rights Reserved
bullJDK Project
bull httpopenjdkjavanetprojectsjdk
どこで管理
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
18Copyrightcopy2017 NTT corp All Rights Reserved
スケジュールと機能
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
19Copyrightcopy2017 NTT corp All Rights Reserved
bullJava SE 183 (JSR 383)
bull JEP 286 Local-Variable Type Inference
bullProject Amber
bullFuture
bullProject Panama
bullProject Valhalla
bullProject Loom (投票中)
bullProject Metropolis (投票中)
bullリポジトリやバイナリ(EA)は独立予定
bullそれぞれで試せる予定JEP286はjdk10でも
新機能(予定)
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
20Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
URL url = new URL(httpjavanet)URLConnection conn = urlopenConnection()Scanner scanner =
new Scanner(conngetInputStream())
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
21Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 286 Local-Variable Type Inference
Project Amber
var url = new URL(httpjavanet)var conn = urlopenConnection()var scanner =
new Scanner(conngetInputStream())
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
22Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = unknownif (obj instanceof Integer) int i = (Integer) objformatted = Stringformat(int d i)
else if (obj instanceof Byte) byte b = (Byte) inputformatted = Stringformat(byte b b)
else if (obj instanceof Long) elseformatted = Stringformat(Unknown s obj)
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
23Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formattedswitch (obj) case Integer iformatted = Stringformat (int d i)break
case Byte bformatted = Stringformat(byte b b)break
case Long l
defaultformatted = Stringformat(Unknown s obj)
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
24Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 305 Pattern matching
Project Amber
String formatted = switch (obj) case Integer i -gt Stringformat(int d i)case Byte b -gt Stringformat(byte d b)case Long l -gt Stringformat(long d l)default -gt Stringformat(Unknown s
obj)
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
25Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumber YEAR(18)FULL(183)public final Number versionJDKNumber(Number version)
thisversion = version
float jdkversion = (float)JDKNumberFULLversion
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
26Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
27Copyrightcopy2017 NTT corp All Rights Reserved
bullJEP 301 Enhanced Enums
Project Amber
public enum JDKNumberltT extends Numbergt YEARltIntegergt(18)FULLltFloatgt(183)public final T versionJDKNumber(T version)
thisversion = version
float jdkversion = JDKNumberFULLversion
他にも列挙型を改善予定
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom
28Copyrightcopy2017 NTT corp All Rights Reserved
bullその他
bull JEP 302 Lambda Leftovers
bull使ってないパラメータの記述省エネ化重複変数の利用制限撤廃メソッドのオーバーロード許容etc
bull Other future JEPs
bull情報
bull Mailing Listhttpmailopenjdkjavanetmailmanlistinfoamber-dev
bull Project Pagehttpopenjdkjavanetprojectsamber
Project Amber
29Copyrightcopy2017 NTT corp All Rights Reserved
bullQuestion
bullsugarlife or JJUG
bullkubotayujigmailcom