第3章 OpenJDK の機能

最新の OpenJDK 8 リリースには、新機能が含まれている可能性があります。さらに、このリリースは、以前の Open JDK 8 リリースに由来する機能を強化、非推奨、または削除する可能性があります。

注記

その他の変更点やセキュリティー修正については、OpenJDK 8u332 Released を参照してください。

3.1. 新機能および拡張された機能

次のリリースノートを確認して、OpenJDK 8.0.332 リリースに含まれている新機能と機能拡張を理解してください。

ポータブル Linux ビルドによる cacerts へのアクセス

Red Hat OpenJDK 8.0.322 のポータブル Linux ビルドは、セキュリティー証明書データベースとして /etc/pki/java/cacerts を使用しようとしました。これは、移植可能な Linux ビルドが独自のディレクトリー構造にある cacerts データベースを使用する OpenJDK 8.0.312 リリースからの望ましくない動作の変更でした。

OpenJDK 8.0.332 は、cacerts ファイルの場所を <java_home>/jre/lib/java.security に変更することでこの問題を修正します。これは、OpenJDK 8.0.312 リリースで指定されたデフォルトの場所でした。

さらに、OpenJDK 8.0.332 リリースでは、プロパティー security.systemCACerts を使用して、java.security ファイルで cacerts データベースを設定できます。JVM の起動時に -Djava.security.disableSystemCACerts=true 引数を渡すことにより、この機能を無効にできます。

OpenJDK for Microsoft Windows での代替データストリーム (ADS) の動作

OpenJDK 8 for Microsoft Windows リリースでは、java.io.FileOutputStream がコロン (:) 文字を含む一部のファイルを開かないために一部の Java アプリケーションが失敗する問題が修正されています。この問題は、jdk.io.File.enableADS のデフォルト値が false に設定されていたために発生しました。

この OpenJDK 8 for Microsoft Windows リリースでは、jdk.io.File.enableADS のデフォルト値が true に設定されています。デフォルトでは、OpenJDK は Alternative Data Streams や、NUL: ファイルなどの Microsoft Windows の特別なファイルに書き込むことができるようになりました。

次のいずれかのオプションを選択して、OpenJDK の ADS への書き込み機能を無効にできます。

  • -Djdk.io.File.enableADS=false パラメーターを OpenJDK デプロイメントに渡します。
  • JAVA_TOOL_OPTIONS 環境変数を JAVA_TOOL_OPTIONS=-Djdk.io.File.enableADS=false に設定します。
重要

これらの設定のいずれかを実装すると、Java アプリケーションが OpenJDK 8 for Microsoft Windows ビルドのファイルにデータを書き込む方法に問題が発生する可能性があります。

JDK-8285445 (JDK Bug System) を参照してください。