注意: 次の機能のうちいくつかを本番で使用するには商用ライセンスが必要です。商用の機能とそれを有効化する方法の詳細は、Oracle Java SE Advanced製品とOracle Java SE Suite製品を参照してください。
JDK 8u40では次の拡張機能が導入されました:
java
ツール:
承認された標準のオーバーライド機構(JDK-8065675)と拡張機能機構(JDK-8065702)が非推奨になったため、-XX:+CheckEndorsedAndExtDirs
が追加されました。このオプションは、これらの機構の既存の使用を識別する助けになるもので、JDK 7u80とJDK 8u40でサポートされます。JDK-8064667を参照してください。
JDK 8u40より前では、Java Flight Recorder (JFR)を使用して特定のJavaアプリケーションの動作記録を作成する場合、アプリケーションの起動時に、-XX:+UnlockCommercialFeatures
と-XX:+FlightRecorder
の両方を指定する必要があります。JDK 8u40では、コマンド行でこれらのオプションを指定する必要はありません。JFRには、アプリケーションの実行時に、商用機能のロックを解除して、JFRを有効化するための、様々な方法が用意されています。これには、java
コマンド行オプション、jcmd
診断コマンドおよびJava Mission Control内のグラフィカル・ユーザー・インタフェース(GUI)コントロールが含まれます。この柔軟性によって、起動時に適切なオプションを指定することも、JVMが実行された後でJFRと対話することもできます。『Java Flight Recorderランタイム・ガイド』のJavaコンポーネントに関するページを参照してください。
オプション-XX:StartFlightRecording=parameter=value
には、新しいパラメータ、dumponexit={true|false}
があり、JVMが制御下で終了した場合にJFRデータのダンプ・ファイルを生成するかどうかを指定します。
Restricted Transactional Memory (RTM)に関連したオプションは、もう実験段階ではありません。これらのオプションには、-XX:RTMAbortRatio=abort_ratio
、-XX:RTMRetryCount=number_of_retries
、-XX:+UseRTMDeopt
と-XX:+UseRTMLocking
が含まれます。JDK-8054376を参照してください。
アプリケーション・クラス・データ共有(AppCDS)は、この更新リリースで導入されました。AppCDSは、CDS(クラス・データ共有を参照)を拡張して、標準拡張機能ディレクトリとアプリケーション・クラス・パスにあるクラスを共有アーカイブに配置できるようにします。これは商用機能であり、試験段階とはみなされていません(java
ツールのドキュメントに指定されている内容とは異なります)。オプション-XX:+UseAppCDS
およびJDK-8054376を参照してください。
オプション-XX:+ResourceManagement
および-XX:ResourceManagementSampleInterval=value
が追加されています。リソース管理は商用機能です。
ラージ・ページに関する追加情報が追加されました。ラージ・ページ(ヒュージ・ページとも呼ばれます)は、標準メモリー・ページ・サイズより大幅に大きいメモリー・ページです。ラージ・ページは、プロセッサのTranslation-Lookaside Bufferを最適化します。Linuxオプション-XX:+UseHugeTLBFS
、-XX:+UseSHM
および-XX:+UseTransparentHugePages
はドキュメント化されています。JDK-8040180を参照してください。
オプション-XX:ObjectAlignmentInBytes=alignment
はドキュメント化されています。JDK-8040176を参照してください。
jjs
ツール:
オプション--optimistic-types=[true|false]
が追加されました。再コンパイルの最適化を解除してオプティミスティック・タイプ仮定を有効または無効にします。JDK-8042946を参照してください。
オプション--language=[es5]
がjjs
ツールに追加されました。ECMAScript言語バージョンを指定します。JDK-8046038を参照してください。
javapackager
ツール:
新しい引数は、OS X bundlerが利用できます。mac.CFBundleVersion
引数は、使用される内部バージョン番号を識別します。mac.dmg.simple
引数は、AppleScriptコードの実行に依存するDMGカスタマイズ・ステップがスキップされたかどうかを示します。JDK-8043060を参照してください。
jcmd
ツール:
jcmd
ツールを使用すると、すでに実行中であるJVMで、動的にJava Flight Recorder (JFR)と対話できます。商用機能のロックの解除、動作記録の有効化/開始/停止、およびシステムからの様々なステータス・メッセージの取得のために使用できます。例一覧は、『Java Flight Recorderランタイム・ガイド』のJavaコンポーネントに関するページを参照してください。
jstat
ツール:
jstat
ツールは、圧縮したクラス・スペース(metaspaceの特別な部分)に関する情報が更新されました。JDK-8040079を参照してください。
JDK 8u20では次の拡張機能が導入されました:
javafxpackager
ツールの名前がjavapackager
に変更されました。このツールは、自己完結型アプリケーション・バンドラの新しい引数で拡張されています。JDK-8041516を参照してください。
java
起動ツール関連の拡張機能:
Restricted Transactional Memory (RTM)に関連する試験的なJITコンパイラ・オプションが追加されました。JDK-8031320を参照してください。
文字列の重複除外に関連するオプションが追加されました。JDK-8029075を参照してください。
Advanced Encryption Standard (AES)組込みに関連するオプションが追加されました。JDK-8034899を参照してください。
使用頻度の低いガベージ・コレクション・オプションの組合せが非推奨になりました。JDK-8026909を参照してください。
JDK 8では次の拡張機能が導入されました。
jjs
コマンドが導入されました。このコマンドは、Nashornエンジンを対話型シェル・モードまたはスクリプト・ファイルのインタプリタ・モードで起動します。詳細は、Nashornのユーザーズ・ガイドを参照してください。
JavaFXアプリケーションが正しくパッケージ化されていれば、java
コマンドでJavaFXアプリケーションを起動できます。「クラスの検索方法」を参照してください。
javaコマンドのマニュアル・ページ(nroffとHTMLの両方)が完全に作り直されました。詳細オプションは、その影響する分野に応じて、ランタイム、コンパイラ、ガベージ・コレクション、および有用性に分類されるようになりました。以前は不足していたいくつかのオプションの説明が追加されました。前回のリリース以降に非推奨になったか削除されたオプションに関するセクションもあります。
開発者は新しいjdepsコマンド行ツールを使用してクラス・ファイルを分析し、パッケージ・レベルまたはクラス・レベルの依存関係を判定できます。JDK-8003562を参照してください。
JDK 8では診断コマンドへのリモート・アクセスが提供されています。以前はjcmdツールを介してローカルでのみアクセス可能でした。リモート・アクセスはJava Management Extensions (JMX)を使用して提供されるため、診断コマンドはプラットフォームMBeanサーバーに登録されているプラットフォームMBeanに対して公開されます。このMBeanはcom.sun.management.DiagnosticCommandMBeanインタフェースです。Solaris、LinuxおよびOS X用またはWindows用のjcmdのドキュメントを参照してください。
jarsigner
ツールに新しいオプション-tsapolicyid
が追加されました。これを使用してタイムスタンプ発行局に署名付きタイムスタンプを要求し、それを署名付きJARファイルに添付することができます。JDK-8009636を参照してください
java.lang.reflect.Executable.getParameters
メソッドにより、任意のメソッドまたはコンストラクタの各仮パラメータの名前を取得できます。ただし、デフォルトでは.class
ファイルに仮パラメータ名は保存されません。特定の.class
ファイルに仮パラメータ名を保存してReflection APIで仮パラメータ名を取り出せるようにするには、javac
コンパイラの-parameters
オプションを使用してソース・ファイルをコンパイルします。参照先
JDK-8004727。
Java 言語仕様(JLS)のセクション15.21に規定されているバイナリ比較の型規則が、javacで正しく適用されるようになります。JDK5以降、javacでは、Objectとプリミティブの比較を行うプログラムが受け入れられてきましたが、JLS 15.21によれば不正な型の比較です。このような比較は型エラーとして正しく識別されるようになります。JDK-8013357を参照してください。
パッケージcom.sun.mirrorに含まれるaptツールおよびその関連APIは、このリリースで削除されました。javacツールで利用可能なオプションと、パッケージjavax.annotation.processing
およびjavax.lang.model
に含まれるAPIを使用して、注釈を処理してください。JDK-7041249を参照してください
javadocツールに関連する拡張機能については、Javadocの新機能に関するページを参照してください。