ホームページ  >  記事  >  Java  >  jdk8の新機能は何ですか

jdk8の新機能は何ですか

清浅
清浅オリジナル
2019-04-24 17:40:3534079ブラウズ

JDK 8 の新機能には、Lambda 式の導入、Stream API の提供、クライアント TLS 1.2 の有効化、AEAD アルゴリズムのサポート、高度なセキュリティ、新しい Modena テーマ、新しいパッケージなどが含まれます。

jdk8の新機能は何ですか

JDK 8 の新機能

Java Platform, Standard Edition 8 は、機能が豊富なメジャー リリースです。このドキュメントでは、Java SE 8、JDK 8、および Oracle の Java SE 8 実装の機能と拡張機能を要約します。コンポーネント名をクリックすると、コンポーネントの拡張機能の詳細な説明が表示されます。

Java プログラミング言語

  • ラムダ式は、このバージョンで導入された新しい言語機能です。この機能を使用すると、関数をメソッドのパラメーターとして、またはコードをデータとして扱うことができます。ラムダ式を使用すると、単一メソッド インターフェイス (関数インターフェイスと呼ばれます) のインスタンスをより簡潔に表すことができます。

  • メソッド参照は、すでに名前が付いているメソッドに対して理解しやすいラムダ式を提供します。

  • デフォルトの方法では、ライブラリのインターフェイスに新しい機能を追加でき、これらのインターフェイスの古いバージョン用に作成されたコードとのバイナリ互換性が保証されます。

  • 重複アノテーションは、同じステートメントまたは型の使用法に対する同じアノテーション タイプの複数のアプリケーションをサポートします。

  • 型アノテーションは、宣言だけでなく、型が使用されるあらゆる場所にアノテーションを適用することをサポートします。この機能をプラガブル型システムと組み合わせると、コードの型チェックが向上します。

  • 型推論が改善されました。

  • #メソッドパラメータの反映。

コレクション

  • パッケージ内の新しい java.util.stream クラスは、ストリームをサポートする Stream API を提供します。要素は機能的な操作を実行します。 Stream API は Collections API に統合されており、逐次または並列の Map-Reduce 変換などのコレクションに対するバッチ操作を実行できます。

  • キーの競合による HashMap のパフォーマンスの向上

コンパクトなプロファイル

事前定義された Java SE が含まれていますプラットフォームのサブセットであり、プラットフォーム全体を展開して小型デバイス上で実行する必要のないアプリケーションをサポートします。

セキュリティ

  • クライアント TLS 1.2 はデフォルトで有効になります

  • AccessController.doPrivileged への新しい変更点本体は、追加の権限をチェックするためのフルスタックのトラバーサルを妨げることなく、権限のサブセットをアサートするコードをサポートします

  • より強力なパスワードベースの暗号化アルゴリズム

  • SSL/TLS Server Name Indication (SNI) 拡張の JSSE サーバー側サポート

  • AEAD アルゴリズムのサポート: SunJCE プロバイダは、AES/GCM/NoPadding 暗号実装もサポートするように拡張されました。 GCM アルゴリズム パラメーターとして。 SunJSSE プロバイダも、AEAD モードベースの暗号スイートをサポートするように拡張されました。 Oracle プロバイダーのドキュメント、JEP 115 を参照してください。

  • #キーストアの機能強化 (新しいドメイン キーストア タイプ java.security.DomainLoadStoreParameter および keytool ユーティリティ
  • #SHA-224 の新しいコマンド オプション -importpassword

    ## など)メッセージ ダイジェスト
  • NSA Suite B 暗号化のサポートの強化
  • 高エントロピー乱数のサポートの強化
  • ##X.509 証明書の失効チェックを構成するための java.security.cert.PKIXRevocationChecker クラスを追加しました
  • Windows 64 ビット PKCS11
  • # に適用可能

    ##Kerberos 5 のリプレイ キャッシュに新しい rcache タイプが追加されました

  • Kerberos 5 プロトコル変換と制限された委任をサポート

  • Kerberos 5 の弱い暗号化タイプはデフォルトで無効になっています

  • #GSS-API/Kerberos 5 メカニズムのアンバインド SASL

  • #複数のホスト名の SASL サービス
  • Mac OS 上のネイティブ JGSS への JNI ブリッジ XXX
  • SunJSSE プロバイダによる強力な一時 DH キーのサポート
  • のサポートJSSE でのサーバー側暗号スイート設定のカスタマイズ
  • JavaFX

新しい Modena テーマがこのバージョンに実装されました。

    新しい SwingNode クラスを使用すると、開発者は JavaFX アプリケーションに Swing コンテンツを埋め込むことができます。 SwingNode javadoc および JavaFX アプリケーションへの Swing コンテンツの埋め込みを参照してください。
  • 新しい UI コントロールには、DatePicker コントロールと TreeTableView コントロールが含まれます。
  • javafx.print パッケージは、JavaFX Printing API のパブリック クラスを提供します。詳細については、javadoc を参照してください。
  • 3D グラフィックス機能には、3D シェイプ、カメラ、ライト、サブシーン、マテリアル、ピッキング、アンチエイリアスが含まれるようになりました。新しい Shape3D (Box、Cylinder、MeshView、および Sphere サブクラス)、SubScene、Material、PickResult、LightBase (AmbientLight および PointLight サブクラス)、および SceneAntialiasing API クラスが JavaFX 3D グラフィックス ライブラリに追加されました。このリリースでは、カメラ API クラスも更新されました。 javafx.scene.shape.Shape3D、javafx.scene.SubScene、javafx.scene.paint.material、javafx.scene.input.PickResult、および javafx.scene.SceneAntialiasing クラスと JavaFX 3D Graphics の関連する javadoc を参照してください。入門ドキュメント。
  • WebView クラスには、新機能と改善点が含まれています。 Web ソケット、Web ワーカー、Web フォントなどの他の HTML5 機能の詳細については、「HTML5 でサポートされる機能」を参照してください。

  • 双方向テキスト、複雑なテキスト スクリプト (タイ語やヒンディー語のコントロールなど)、テキスト ノード内の複数行、複数スタイルのテキストなど、強化されたテキスト サポート。

  • このバージョンでは、Hi-DPI ディスプレイのサポートが追加されています。

  • CSS Styleable* クラスがパブリック API になりました。詳細については、Javafx.css javadoc を参照してください。

  • 新しい ScheduledService クラスを使用すると、サービスを自動的に再起動できます。

  • JavaFX が ARM プラットフォームで利用できるようになりました。 ARM 用の JDK には、JavaFX のベース、グラフィックス、および制御コンポーネントが含まれています。

ツール

  • Nashorn エンジンは、jjs コマンドを通じて呼び出すことができます。

  • java コマンドは、JavaFX アプリケーションを起動するために使用されます。

  • Java man ページを書き直しました。

  • クラス ファイルは、jdeps コマンド ライン ツールを通じて分析できます。

  • Java Management Extensions (JMX) は、診断コマンドへのリモート アクセスをサポートします。

  • jarsigner ツールには、タイムスタンプ認証局 (TSA) から署名付きタイムスタンプを要求するオプションが用意されています。

Javac ツール

  • #javac コマンドの -parameters オプションは、正式なパラメータ名とパラメータを保存するために使用できます。リフレクション API を有効にして、正式なパラメータ名を取得します。

  • javac コマンドは、Java 言語仕様 (JLS) セクション 15.21 の等価演算子の型規則を正しく実装するようになりました。

  • javac ツールは、javadoc コメントの内容のチェックをサポートするようになりました。これにより、無効な HTML やアクセシビリティの問題など、javadoc の実行時に生成されるファイル内のさまざまな問題が回避されます。この機能は、新しい Xdoclint オプションを使用して有効にすることができます。詳細については、「javac -X」を実行したときの出力を参照してください。この機能は javadoc ツールでも利用でき、デフォルトで有効になっています。

  • javac ツールは、オンデマンドでのネイティブ ヘッダーの生成をサポートするようになりました。これにより、ビルド パイプラインで javah ツールを個別に実行する必要がなくなります。この機能は、ヘッダー ファイルが書き込まれるディレクトリを指定する新しい -h オプションを使用して javac で有効にすることができます。ヘッダー ファイルは、ネイティブ メソッドを持つクラス、または java.lang.annotation.Native 型の新しい注釈を使用するクラスの注釈付き定数フィールドに対して生成されます。

Javadoc ツール

  • Javadoc ツールは新しい DocTree API をサポートしており、Javadoc コメントを抽象構文として扱うことができます。横断する木々。

  • javadoc ツールは、新しい Javadoc Access API をサポートしています。これにより、新しいプロセスを実行せずに Javadoc ツールを Java アプリケーションから直接呼び出すことができます。詳細については、javadoc の新機能ページを参照してください。

  • javadoc ツールは、javadoc コメントの内容のチェックをサポートするようになりました。これにより、無効な HTML やアクセシビリティの問題など、javadoc の実行時に生成されるファイル内のさまざまな問題が回避されます。この機能はデフォルトで有効になっており、新しい -Xdoclint オプションで制御できます。詳細については、「javadoc -X」を実行したときの出力を参照してください。 javac ツールもこの機能をサポートしていますが、デフォルトでは有効になっていません。

#国際化

  • Unicode 6.2.0 のサポートを含む Unicode の機能強化

    ##Unicode CLDR データと java.locale.providers システム プロパティの使用

  • 新しいカレンダーとロケール API

  • サポート カスタム リソース バンドルがインストールされます拡張機能として

  • #デプロイメント

##URLPermission を使用して、サンドボックス アプレットと Java Web Start アプリの再接続を許可できるようになりました。それらを起動したサーバーに送信します。 SocketPermission は付与されなくなりました。

  • Permissions 属性は、すべてのセキュリティ レベルでメイン JAR ファイルの JAR ファイル マニフェストに必要です。

  • Date-Time パッケージ

包括的な日付/時間モデルを提供する新しいパッケージのセット。

スクリプティング

Rhino JavaScript エンジンは Nashorn JavaScript エンジンに置き換えられました

Pack200

Pack200 は、定数プール エントリと、JSR 292 によって導入された新しいバイトコードをサポートします

    #JDK8 は、JSR-292、JSR-308、および JSR-335 によって指定されたクラス ファイルの変更をサポートします
  • IO および NIO

Solaris イベント ポート メカニズムに基づいた新しい Solaris 指向の SelectorProvider 実装。これを使用するには、システム プロパティ java.nio.channels.spi.Selector の値を sun.nio.ch.EventPortSelectorProvider に設定します。

    /jre/lib/charsets.jar ファイルのサイズを削減します
  • java.lang.String(byte[], *) コンストラクターと java.lang.String.getBytes() メソッドのパフォーマンスが向上しました。

#java.lang および java.util パッケージ

  • 並列配列ソート

  • 標準エンコードおよびデコード Base64
  • 符号なし算術のサポート
JDBC

    JDBC-ODBC ブリッジを削除しました。
  • JDBC 4.2 には新機能が導入されています。
Java DB

JDK 8 には Java DB 10.10 が含まれています。

Network

    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 クラスは、3 つのモードを通じて読み取り/書き込みアクセスを制御できる機能ベースのロックを提供します。
Java XML - JAXP

HotSpot

    新しいハードウェア組み込みAdvanced Encryption Standard (AES) を使用します。 UseAES フラグと UseAESIntrinsics フラグは、Intel ハードウェアのハードウェアベースの AES 組み込みを有効にします。ハードウェアは 2010 年以降の Westmere ハードウェアである必要があります。たとえば、ハードウェア AES を有効にするには、次のフラグを使用します。
  • -XX: UseAES -XX: UseAESIntrinsics

  • 無効にするにはハードウェア AES の場合は、次のフラグを使用してください:
  • -XX:-UseAES -XX:-UseAESIntrinsics

  • PermGen を削除しました。
  • メソッドによって呼び出されるバイトコード命令は、Java プログラミング言語のデフォルトのメソッドをサポートします。
Java Mission Control 5.3 リリース ノート

JDK 8 には Java Mission Control 5.3 が含まれています。

以上がjdk8の新機能は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。