原文はこちら。
https://blogs.oracle.com/java/jdk-9-language-tooling-libraries
モジュラリティに加え、JDK 9の主要な新機能として、言語やツール、ライブラリにその他の変更が加わります。JDKエンジニアのJoe Darcyが、「JDK 9 language, tooling and library features」というプレゼンテーションの中で、Java SEプラットフォームへの小さいけれども重要な変更を説明しています。全ての機能改善・強化はモジュールシステムの外部でなされており、全てのJava開発者にとって関係があるものです。
Java 9のリリースは2017年9月21日に予定されています。現時点では、早期アクセスリリースをテストし、フィードバックできますので、アプリケーションを早期アクセスリリースでテストするよい機会です。ご存知とは思いますが、Java 9でもまだクラスパスをサポートしますので、サポート対象かつ外部利用を想定しているAPIを使っている限り、アプリケーションはJava 9で動作するはずですが、疑わしい場合は、以下のドキュメントをご覧ください。
また、以前のリリースで事前に知らせるというJava SEプラットフォームの非推奨プロセスも注目に値します。JDK 9では、JEP 277で@Deprecatedアノテーションを強化し、APIの非推奨状態について、より細かい情報をツールに提供します。JEP 277では、通知プロセス、APIの状態と将来の取り扱いについて詳細に説明し、アプリケーションの非推奨APIの静的な使用を追跡するツールを表示します。
プロジェクトに最も関連性のある情報を見つけやすくするため、以下でビデオのチャプターを付けておきました。
https://blogs.oracle.com/java/jdk-9-language-tooling-libraries
モジュラリティに加え、JDK 9の主要な新機能として、言語やツール、ライブラリにその他の変更が加わります。JDKエンジニアのJoe Darcyが、「JDK 9 language, tooling and library features」というプレゼンテーションの中で、Java SEプラットフォームへの小さいけれども重要な変更を説明しています。全ての機能改善・強化はモジュールシステムの外部でなされており、全てのJava開発者にとって関係があるものです。
Java 9のリリースは2017年9月21日に予定されています。現時点では、早期アクセスリリースをテストし、フィードバックできますので、アプリケーションを早期アクセスリリースでテストするよい機会です。ご存知とは思いますが、Java 9でもまだクラスパスをサポートしますので、サポート対象かつ外部利用を想定しているAPIを使っている限り、アプリケーションはJava 9で動作するはずですが、疑わしい場合は、以下のドキュメントをご覧ください。
Java Platform, Standard Edition Oracle JDK 9 Migration Guide Release 9DarcyがJava SEの下位互換性がバイナリ、ソース、および動作の変更に対する互換性をどのように示唆しているかを説明しています。各プラットフォームのリリースにはJava 8の場合と同様互換性ガイドがあります。
Removed or Changed APIs
https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-F7696E02-A1FB-4D5A-B1F2-89E7007D4096
Compatibility Guide for JDK 8リリース日が近づくにつれ、Java 9互換ガイドが利用可能になります。
http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html
また、以前のリリースで事前に知らせるというJava SEプラットフォームの非推奨プロセスも注目に値します。JDK 9では、JEP 277で@Deprecatedアノテーションを強化し、APIの非推奨状態について、より細かい情報をツールに提供します。JEP 277では、通知プロセス、APIの状態と将来の取り扱いについて詳細に説明し、アプリケーションの非推奨APIの静的な使用を追跡するツールを表示します。
JEP 277: Enhanced Deprecation
http://openjdk.java.net/jeps/277
プロジェクトに最も関連性のある情報を見つけやすくするため、以下でビデオのチャプターを付けておきました。
Java 9 has new and improved tools:JShell - REPL (12:00)
https://youtu.be/KQiYlWFvc68?t=12mJava Doc (15:33)
Java Doc new features: Doclint package filtering, updated Doclet API and a new Javadoc Search
https://youtu.be/KQiYlWFvc68?t=15m33sGetting from one JDK release to another (19:23)
https://youtu.be/KQiYlWFvc68?t=19m27sMulti-release jar files - JEP 238 (24:18)
https://youtu.be/KQiYlWFvc68?t=24m18s
Java 9 has new Languages Changes that are not related to modules:Milling Project Coin (25:36)
https://youtu.be/KQiYlWFvc68?t=25m36s
Diamond with anonymous classes, take two (32:46)
https://youtu.be/KQiYlWFvc68?t=32m46sAn underscore is no longer an identifier name (37:40)
https://youtu.be/KQiYlWFvc68?t=37m40sPrivate interface methods (38:49)
https://youtu.be/KQiYlWFvc68?t=38m49sDeprecation and imports
https://youtu.be/KQiYlWFvc68?t=39m40s
Java 9 has also library updates:New Version-String Scheme (45:15)
https://youtu.be/KQiYlWFvc68?t=45m15sStrings and string concatenation (45:35)
https://youtu.be/KQiYlWFvc68?t=45m35sConvenience factory methods for collections (46:17)
https://youtu.be/KQiYlWFvc68?t=46m17s
Some of the links mentioned in the presentationJEP 182: Policy for Retiring javac -source and -target Options
http://openjdk.java.net/jeps/182JEP 247: Compile for Older Platform Versions
http://openjdk.java.net/jeps/247JEP 277: Enhanced Deprecation
http://openjdk.java.net/jeps/277JEP 254: Compact Strings
http://openjdk.java.net/jeps/254JEP 280: Indify String Concatenation
http://openjdk.java.net/jeps/280
JDK 9 Early access release:Javaの開発の最新情報を入手するため、是非@OpenJDKと@Javaをフォローしてください。
http://jdk.java.net/9/Documentation:
http://docs.oracle.com/javase/9/javase-docs.htm