https://blogs.oracle.com/thejavatutorials/entry/jdk_8_documentation_developer_preview
開発者がJDK 8の機能を調べるのに役立つ、Java Development Kit Release 8 (JDK 8) Early Access Documentationが改善、アップデートされました。ドキュメントは開発者ガイド(Developer Guides)、チュートリアル(The Java Tutorials)、APIドキュメント(API Documentation)からなります。
Java Platform Standard Edition 8 Early Access DocumentationJDK 8のEarly AccessはJDK 8 Projectからダウンロードできます。
http://download.java.net/jdk8/docs/
The Java Tutorials
http://docs.oracle.com/javase/tutorial/
Java™ Platform, Standard Edition 8 API Specification
http://download.java.net/jdk8/docs/api/
JDK 8 ProjectProject Feedbackフォーラムを使ってJDK 8への提案や、JDK 8利用時に発生した問題をお知らせ下さい。
http://jdk8.java.net/
Java SE Snapshots: Project Feedbackこのリリースで不具合を発見されましたら、通常のJava SEバグレポートチャネルに投稿して下さい。
https://www.java.net//forums/jdk/java-se-snapshots-project-feedback
Report a Bug or Request a Feature以後では特定のJDK 8の強化ポイントに対応するドキュメントをご紹介します。
http://bugreport.sun.com/bugreport/
- Language and Library Enhancements
- Security Enhancements
- Internationalization Enhancements
- Tools Enhancements
- Platform and System Support Enhancements
- Removed Features
- Upcoming Documentation
Language and Library Enhancements
以下の機能強化がJava言語やJDKライブラリに施されています。Lambda Expressions
ラムダ式を使うと、関数をメソッド引数としてもしくはコードをデータとして扱うことができます。また、単一メソッドクラスのインスタンスをよりコンパクトに表現することもできます。例えば、プロセス終了時もしくはエラー時に、ラムダ式を使ってコレクションの各要素にアクションを実行できます。Lambda Expressionsメソッド参照を使うと、既存のメソッドを名前で参照できます。これは、既に名前があるメソッドに対するコンパクトで可読性の高いラムダ式です。
http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
Method Referencesバルクデータ表現はコレクションの反復処理をします。そのため、コレクションに格納されている要素を処理するコードをより簡潔で効率的に記述することができます。バルクデータの操作のためにパラメータとしてラムダ式を指定すると、特定のバルクデータの操作の振る舞いをカスタマイズできます。Collectionsの項目では、大量データ操作に関する新しいチュートリアルを取り上げています。
http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html
Trail: Collections
http://docs.oracle.com/javase/tutorial/collections/
Parallel Array Sorting
JDK 7で軽量なデータ並列処理のためのFork/Joinフレームワークが導入されましたが、シンプルかつ共通のタスクのアルゴリズムを利用者自身で実装する必要があります。JDK 8では、Fork/Joinフレームワークを利用して配列の並列ソートの標準実装を提供しています。Fork/Join
http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.htmlArrays
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
Annotations API Updates
Java SE 8にはAnnotations APIの重要なアップデートが含まれています。- 同じアノテーションタイプを一度以上同じ宣言もしくはタイプ利用に対し適用することができるようになりました(repeating annotations)。
- 宣言に対してだけでなくタイプを使用している任意の場所にもアノテーションを適用できるようになりました。プラグイン可能な型システムと組み合わせて使用すると、この機能でコードの型チェックを改善することができます。
Lesson: Annotations
http://docs.oracle.com/javase/tutorial/java/annotations/index.html
Base64 Encoding Schemes
Base64
、Base64.Encoder
、Base64.Decoder
というクラスが追加されました。Class Base64base64エンコーディングスキームを利用するアプリケーションには、Multipurpose Internet Mail Extensions (MIME)とHTTPヘッダのエンコードパスワードを使うアプリケーションが含まれます。
http://download.java.net/jdk8/docs/api/java/util/Base64.htmlClass Base64.Encoder
http://download.java.net/jdk8/docs/api/java/util/Base64.Encoder.htmlClass Base64.Decoder
http://download.java.net/jdk8/docs/api/java/util/Base64.Decoder.html
Enhancements in Java SE 8
http://download.java.net/jdk8/docs/technotes/guides/lang/enhancements.html#jdk8.
Security Enhancements
以下の機能強化がJava SEのセキュリティ機能に施されています。Server Name Indication Extension for Server Applications
Server Name Indication (SNI)拡張は、SSL/TLSプロトコルを拡張し、ハンドシェイクの間にどのサーバー名にクライアントが接続しようとしているかを示す機能です。JDK 7の Java Secure Socket Extension (JSSE) APIでは、SunJSSEプロバイダを使ってクライアントアプリケーションのためのSNI拡張を実現していましたが、JDK 8ではサーバーアプリケーションのためのSNI拡張をもサポートしています。サーバーはこのSNIを利用して、特定のSSLSocket
もしくは SSLEngine
インスタンスが接続を受け付けるべきか否かを判断することができます。詳細およびサンプルは、JSSE Reference Guideの以下の章をご覧下さい。
Server Name Indication (SNI) Extension [Java Secure Socket Extension (JSSE) Reference Guide]
http://download.java.net/jdk8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SNIExtension
New PKIXRevocationChecker Class
PKIXRevocationChecker
クラスは、X.509ベースの公開鍵基盤(PKIX)アルゴリズムを使用した証明書の失効ステータスをチェックします。これは、ベストエフォート型のチェック、単一証明書のチェック、およびメカニズム固有のオプションとパラメータをサポートしています。Java PKI API Programmer's Guide
http://download.java.net/jdk8/docs/technotes/guides/security/certpath/CertPathProgGuide.html#PKIXRevocationChecker
SHA-224 Message Digests
JDK 8の暗号アルゴリズムはメッセージダイジェスト実装のSHA-2ファミリーのSHA-224バリアントで機能強化されています。詳細は、以下のアップデートされたドキュメントをご覧下さい。- Oracle Providers Documentation
http://download.java.net/jdk8/docs/technotes/guides/security/SunProviders.html - Standard Algorithm Name Documentation
http://download.java.net/jdk8/docs/technotes/guides/security/StandardNames.html - PKCS#11 Reference Guide
http://download.java.net/jdk8/docs/technotes/guides/security/p11guide.html
Stronger Algorithms for Password-Based Encryption
いくつかのAESパスワードベース暗号(PBE)アルゴリズム(例えばPBEWithSHA256AndAES_128
やPBEWithSHA512AndAES_256
など)がSunJCEプロバイダに追加されました。Oracle Providers Documentation
Enhanced Support for NSA Suite B Cryptography
この機能強化にはSHA-224、SHA-256、SHA-384、SHA-512メッセージダイジェストと、SHA224withDSAとSHA256withDSA署名の追加が含まれています。また、Also, the keysize limit for the Diffie-Hellmanアルゴリズムの鍵サイズの上限が1024bitから2048bitに増加しました。Java Cryptography Architecture Oracle Providers Documentation for JDK 8
http://download.java.net/jdk8/docs/technotes/guides/security/SunProviders.htmlJava Cryptography Architecture Standard Algorithm Name Documentation for JDK 8
http://download.java.net/jdk8/docs/technotes/guides/security/StandardNames.html
Internationalization Enhancements
以下の機能強化がJava SEの国際化機能に施されています。Installation of Custom Resources as Extensions
java.util.spi.ResourceBundleControlProvider
インターフェースを使うと、ResourceBundle.getBundle()
メソッドのリソースバンドルのロード方式を変更することができます。ResourceBundleControlProvider
はサービスプロバイダインタフェース(SPI)であり、これを使うと、簡単に拡張可能なアプリケーションを作成できます。元のコードベースを変更する必要はありません。Installing a Custom Resource Bundle as an Extension
http://docs.oracle.com/javase/tutorial/i18n/serviceproviders/resourcebundlecontrolprovider.html
New Calendar and Locale APIs
JDK 8で新しくアップデートされたLocaleおよびCalendar APIは、Unicode Common Locale Data Repository (CLDR)プロジェクトの成果をサポートしています。APIのリストは以下のページからどうぞ。New Calendar and Locale APIs
http://download.java.net/jdk8/docs/technotes/guides/intl/enhancements.8.html#api
Tools Enhancements
以下の機能強化がJDKで提供されるツールやユーティリティに施されています。Pack200 Engine Updates
Java SE 8で、Javaクラスファイルフォーマットがアップデートされ、JSR 292(Supporting Dynamically Typed Languages on the Java Platform)によってもたらされた変更を反映しています。これにより、pack200エンジンはクラスファイルを効果的に圧縮するように適宜更新されてきました。特に、pack200エンジンは定数プールエントリおよびJSR292で導入された新しいバイトコードを認識するようになりました。その結果、pack200ツールのこのバージョンで作成された圧縮ファイルには旧バージョンのunpack200ツールとの互換性はありません。Pack200 Compression (Compression Formats for Network Deployment)
http://download.java.net/jdk8/docs/technotes/guides/jweb/networking/compression_formats.html#pack200_compression
Platform and System Support Enhancements
以下の機能強化がプラットフォームやシステムのサポートに施されています。JDK 8 for Linux ARM
JDK 8では provides support for ARMv7ベースのLinuxシステムをサポートします。Raspberry PiのようなARMv6ベースのシステム上では、実行できることはわかっていますが、完全にテストされていません。hard-floatアプリケーションバイナリインタフェース(ABI)のサポートがARM用JDK 8に追加され、soft-float ABIはサポートされなくなりました。Serviceability Agent (SA)がARM用JDK 8に追加されています。Serviceability in HotSpot
http://openjdk.java.net/groups/hotspot/docs/Serviceability.htmljsadebugd - Serviceability Agent Debug Daemon
http://download.java.net/jdk8/docs/technotes/tools/unix/jsadebugd.html
Removed Features
以下の機能や関連するドキュメントがJDK 8から削除されました。apt
ツール
このツールならびにcom.sun.mirror
パッケージに含まれていた関連するAPIは削除されました。- JDBC-ODBC Bridge
- Old Java Plug-in
Java SE 6 Update 10から廃止予定になっていたJava Plug-inが削除されました。この件はJava Rich Internet Applications Guideに再度記載されています。
Java Rich Internet Applications Guide
この古いJava Plug-inは新しいJavaテクノロジー(JavaFXなど)との互換性はありません。さらに、現在のJava Plug-inは旧Java Plug-inで見つかったセキュリティの弱点の対応が済んでいます。新旧Java Plug-inの相違点については、以下のドキュメントをご覧下さい。
http://download.java.net/jdk8/docs/technotes/guides/jweb/index.html
Applet Developer's Guide
http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/applet/applet_dev_guide.html
Java Platform Standard Edition 7 Documentation
http://docs.oracle.com/javase/7/docs/(英語)
http://docs.oracle.com/javase/jp/7/(日本語)
Upcoming Documentation
以下の分野に関連する早期アクセスドキュメントはしばしおまち下さい。- Security Enhancements
- Deployment Enhancements
- Launch JavaFX Applications, JEP 153
- Integrating JavaFX into the JRE and JDK
- Networking Enhancements
- HTTP URL Permissions, JEP 184
- Library Enhancements
- Language Enhancements
- Tools and Other Enhancements
- Removed Features: The documentation for these features will be removed in upcoming early access documentation updates:
- Removal of ActiveX Bridge
0 件のコメント:
コメントを投稿