JDK 8 の PermGen に置き換わるものとその仕組みは何ですか?

Susan Sarandon
リリース: 2024-11-19 01:04:02
オリジナル
650 人が閲覧しました

What Replaced PermGen in JDK 8 and How Does It Work?

JDK 8 での PermGen の削除

JDK 8 にアップグレードすると、Eclipse を起動しようとすると警告メッセージが表示される場合があります。この警告は、「MaxPermSize」Java 仮想マシン (JVM) オプションが JDK 8 で削除されたため無視されていることを示します。

「MaxPermSize」を無視する理由

「MaxPermSize」オプションによって管理される永続生成 (PermGen) スペースが、JDK の HotSpot から削除されました。 8. これは主にいくつかの欠点によるものでした。

  • 起動時にサイズが固定されているため、調整が困難です。
  • 不透明で型付けが弱いため、デバッグが困難になります。
  • 次の理由により、将来の改善は限定的です

MetaSpace: PermGen の代替

PermGen は、これらの欠点に対処する新しいスペースである Metaspace に置き換えられました。メタスペースにはいくつかの利点があります。

  • クラスローダー固有のストレージ領域により、割り当てが簡素化されます。
  • 線形割り当てと個別の再利用がないため、効率が向上します。
  • GC スキャンや圧縮してオーバーヘッドを削減します。
  • デフォルト サイズは無制限で、潜在的なメモリを回避しますconstraints.

メタスペースのチューニング

メタスペースの最大サイズは通常無制限ですが、「-XX:MaxMetaspaceSize」フラグを使用して設定できます。さらに、「-XX:MetaspaceSize」はその初期サイズを定義します。指定しない場合、Metaspace はランタイムの要求に基づいて動的に調整されます。

結論として、PermGen の廃止と JDK 8 での Metaspace の導入により、GC パフォーマンスが向上し、ランタイム管理が簡素化されました。開発者は、「MaxPermSize」オプションの非推奨とそのアプリケーションへの影響を認識する必要があります。

以上がJDK 8 の PermGen に置き換わるものとその仕組みは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート