Java Platform, Standard Edition 8(Java SE 8)は、主要機能リリースです。このドキュメントでは、Java SE 8と、Java SE 8のOracle実装であるJDK 8に含まれる機能と拡張機能についてまとめます。コンポーネント名をクリックすると、そのコンポーネントの拡張機能に関する詳細説明が表示されます。
java.util.stream
パッケージのクラスでは、要素のストリームに対して関数スタイルの操作をサポートするStream APIが提供されます。Stream APIはCollections APIに統合されているため、コレクションに対するバルク操作(順次的または並列的なマップ - リデュース変換など)が可能です。
コンパクト・プロファイルには、Java SEプラットフォームの事前定義サブセットが含まれます。この機能により、完全なプラットフォームを必要としないアプリケーションを小型デバイス上にデプロイして実行できます。
AccessController.doPrivileged
の新しいバリアントにより、スタック全体を横断するその他の権限チェックを妨げることなく、コードで一部の権限をアサートできます。
java.security.DomainLoadStoreParameter
、およびkeytoolユーティリティの新しいコマンドオプション-importpassword
などが追加されました。
java.security.cert.PKIXRevocationChecker
クラスが追加されました。
SwingNode
クラスを使用して、SwingコンテンツをJavaFXアプリケーションに埋め込むことができます。SwingNodeのjavadoc、および「JavaFXアプリケーションへのSwingコンテンツの埋め込み」を参照してください。
javafx.print
パッケージで、JavaFX Printing API用のパブリッククラスが提供されます。詳細についてはJavaDocを参照してください。
Shape3D
(サブクラスはBox
、Cylinder
、MeshView
、およびSphere
)、SubScene
、Material
、PickResult
、LightBase
(サブクラスはAmbientLight
およびPointLight
)、SceneAntialiasing
がJavaFX 3D Graphicsライブラリに追加されました。このリリースでは、Camera
APIクラスも更新されています。詳細については、javafx.scene.shape.Shape3D
、javafx.scene.SubScene
、javafx.scene.paint.Material
、javafx.scene.input.PickResult
、javafx.scene.SceneAntialiasing
の該当クラスのJavadoc、および「JavaFX 3D Graphicsを開始する」ドキュメントを参照してください。
WebView
クラスに新機能と拡張機能が追加されます。Webソケット、Webワーカー、WebフォントなどのHTML5の追加機能については、「HTML5でサポートされる機能」を参照してください。
jjs
コマンドが提供されます。
java
コマンドによってJavaFXアプリケーションを起動できます。
java
のmanページが改訂されました。
jdeps
コマンドラインツールが提供されます。
jarsigner
ツールに、タイムスタンプ局(TSA)による署名付きタイムスタンプをリクエストするためのオプションが追加されました。
javac
コマンドの-parameters
オプションを使用して仮パラメータ名を保管し、Reflection APIにより仮パラメータ名を取得できます。
javac
コマンドによって正しく適用されるようになりました。
javadoc
の実行時に生成されるファイル内でさまざまなトラブル(無効なHTML、アクセス可能性の問題など)を引き起こすような問題がjavadoc
コメント内容に含まれているかどうかを、javac
ツールでチェックできるようになりました。この機能は、新しい-Xdoclint
オプションによって有効化されます。詳細については、javac -X
の実行結果を参照してください。この機能はjavadoc
ツールでも使用でき、デフォルトで有効です。
javac
ツールに、必要に応じてネイティブヘッダーを生成する機能が追加されました。この機能により、ビルドパイプラインの個別の手順としてjavah
ツールを実行する必要がなくなります。この機能を有効にするには、javac
の新オプション-h
を使用します。このオプションを使用して、ヘッダーファイルを書き込むディレクトリを指定します。ヘッダーファイルは、ネイティブメソッド、またはjava.lang.annotation.Native
型の新しいアノテーションが付けられた定数フィールドを含むすべてのクラスに対して生成されます。
javadoc
ツールでは新しいDocTree
APIがサポートされます。このAPIを使用すると、Javadocコメントを抽象構文ツリーとしてトラバースできます。
javadoc
ツールで新しいJavadoc Access APIがサポートされます。このAPIを使用すると、新しいプロセスを実行しなくても、Javaアプリケーションから直接Javadocツールを起動できます。詳細については、Javadocの新機能のページを参照してください。
javadoc
の実行時に生成されるファイル内でさまざまなトラブル(無効なHTML、アクセス可能性の問題など)を引き起こすような問題がjavadoc
コメント内容に含まれているかどうかを、javadoc
ツールでチェックできるようになりました。この機能はデフォルトで有効であり、新しい-Xdoclint
オプションで制御することもできます。詳細については、javadoc -X
の実行結果を参照してください。この機能はjavac
ツールでも使用できますが、javacではデフォルトで無効です。
URLPermission
を使用して、アプレットやアプリケーションの起動元サーバーに接続を戻すことができるようになりました。SocketPermission
は付与されなくなりました。
Date-Timeパッケージ - 包括的な日時モデルを提供する新しいパッケージセットです。
SelectorProvider
実装が追加されました。使用するには、システムプロパティjava.nio.channels.spi.Selector
の値をsun.nio.ch.EventPortSelectorProvider
に設定します。
<JDK_HOME>/jre/lib/charsets.jar
ファイルのサイズが削減されました。
java.lang.String(byte[], *)
コンストラクタおよびjava.lang.String.getBytes()
メソッドのパフォーマンスが向上しました。
java.net.URLPermission
クラスが追加されました。
java.net.HttpURLConnection
クラスでは、接続を開くリクエストの呼び出しに権限が必要になります。
java.util.concurrent
パッケージにクラスとインタフェースが追加されました。
java.util.concurrent.ConcurrentHashMap
クラスに、新規に追加されたストリーム機能とラムダ式に基づいた集計操作に対応するためのメソッドが追加されました。
java.util.concurrent.atomic
パッケージに、スケーラブルな更新可能変数に対応するためのクラスが追加されました。
java.util.concurrent.ForkJoinPool
クラスに、共有プールに対応するためのメソッドが追加されました。
java.util.concurrent.locks.StampedLock
クラスが追加されました。
UseAES
およびUseAESIntrinsics
フラグを使用できるようになりました。ハードウェアは、バージョン2010年以降のWestmereハードウェアである必要があります。
注:AES組み込み関数は、Server VMでのみサポートされます。
たとえば、ハードウェアAESを有効にするには、次のフラグを使用します。
-XX:+UseAES -XX:+UseAESIntrinsics
ハードウェアAESを無効にするには、次のフラグを使用します。-XX:-UseAES -XX:-UseAESIntrinsics