Java12新機能 - デフォルトで生成されたクラスのデータ共有(CDS)アーカイブ

デフォルト生成されたクラスデータ共有(CDS)アーカイブ

同じ物理マシンJVMの起動/複数の仮想マシンは、各仮想マシンの場合、負荷、彼らは別の、起動コストを必要とするすべてのクラスでは、と
メモリ占有率が比較的高いです。だから、Javaクラスのチームは、メカニズムのデータ共有(クラスデータの共有は、CDSと呼ばれる)を導入コンセプト、各JVM間で共有いくつかのコアクラスによって、各JVMは、クラスに独自のアプリケーションをロードする必要があります。利点は次のとおり減少し、起動時間、他のコアクラスが共有されているので、JVMのメモリ占有量も低減されます。

バージョン履歴
  • JDK5クラス・データ共有の導入、複数のJVM共有クラスのために使用することができ、ブート速度を向上、最初で唯一のサポートシステムクラス
    のシリアルGC。

  • アプリケーションクラスと他のGCアルゴリズムをサポートするように拡張することJDK9。

  • JEP 310はjava10新機能:アプリケーションのクラスデータの共有は、クラスデータの共有JDK5を拡張をサポートするために導入された
    クラスデータ共有のアプリケーションをしてそれを開く(以前の商業機能)

    • CDS 只能作用于 BootClassLoader 加载的类,不能作用于 AppClassLoader 或者自定义的 ClassLoader加载的类。在 Java 10 中,则将 CDS 扩展为 AppCDS,顾名思义,AppCDS 不止能够作用于
      BootClassLoaderアップ、AppClassLoaderカスタムクラスローダも動作することができ、非常に適切なのCDS増大
      使用範囲を。また、それはカスタムクラスの開発は、共有、複数のJVMにロードすることができると述べました。
  • JDK11は-Xshareます:オフデフォルト-Xshareへの変更:自動、CDSの機能を使用する方が便利。

反復効果

ジャワ8は、拡張の数の基本的な機能に行うCDS、改善は、CDSのアプリケーションが大幅に後の起動時間とメモリフットプリントを有効に
減少させました。他の64ビットプラットフォームでは、同等以上の出発性能を持っている一方でテストした64ビットLinuxプラットフォーム上でJava 11、ランのHelloWorldの以前のバージョンを使用して、テスト結果は、32%で開始時刻を表示します。

Java12新機能

実行するために余分なステップとしてダンプ:JDK 12の前に、CDSのユーザーは、JDKで提供されるデフォルトのクラスのリストだけが、-XshareをJavaの必要がある場合でも、の利点を活用したいと思います。
手動で実行する必要性を回避しながら、Javaの12のためのJDK 64ビットプラットフォームの拡張機能を構築する過程にあったが、アプリケーションの起動時間のさらなる向上を達成するために、それをデフォルト生成されたクラスのデータ共有(CDS)のアーカイブにするために改善されます。java - Xshare:ダンプする必要性、JDKは$ {JAVA_HOME} / libに/サーバーの使用は(18M程度)classes.jsaのデフォルトのアーカイブファイルという名前のディレクトリを生成しやすくするように変更しました。
もちろん、必要であれば、あなたはまた、メモリのより良い分布を得るために、ヒープサイズを調整するために、他のGCパラメータを追加することができますが、ユーザーはまた、以前のようにカスタムアーカイブファイルとしてCDSを作成することができます。

おすすめ

転載: www.cnblogs.com/androidsuperman/p/11742837.html