Rumah > Java > javaTutorial > Mengapakah pilihan VM MaxPermSize diabaikan dalam JDK 8?

Mengapakah pilihan VM MaxPermSize diabaikan dalam JDK 8?

Linda Hamilton
Lepaskan: 2024-11-14 20:53:02
asal
432 orang telah melayarinya

Why is the MaxPermSize VM option ignored in JDK 8?

Penyingkiran PermGen dalam JDK 8: Mengapa Pilihan VM Diabaikan

Pengenalan

JDK 8 dibawakan perubahan ketara kepada seni bina Java Virtual Machine (JVM), termasuk penyingkiran Generasi Kekal (PermGen). Perubahan ini telah menjejaskan cara Eclipse dan aplikasi lain berinteraksi dengan JVM.

Isu

Apabila menjalankan Eclipse dalam JDK 8, pengguna mungkin menghadapi mesej amaran yang menunjukkan bahawa MaxPermSize Pilihan VM diabaikan. Mesej ini menimbulkan persoalan tentang sebab untuk membuang parameter ini.

Sebab untuk Mengabaikan MaxPermSize

Sebab untuk mengabaikan pilihan MaxPermSize VM berpunca daripada beberapa kelemahan yang dikaitkan dengan PermGen dalam JDK sebelumnya versi:

  • Saiz Tetap: PermGen mempunyai saiz tetap semasa permulaan, menjadikannya sukar untuk mengoptimumkan peruntukan memori untuk aplikasi dengan keperluan pemuatan kelas dinamik.
  • Jenis Hotspot Dalaman: Objek yang disimpan dalam PermGen ialah objek Java, yang membawa kepada potensi kebocoran memori disebabkan oleh kegigihan mereka merentasi kutipan sampah.
  • Koleksi Ringkas: Mengalih keluar PermGen dibenarkan untuk memudahkan kitaran pengumpulan sampah penuh, menghilangkan keperluan untuk iterator khas untuk metadata.
  • Deallocation Data Kelas Serentak: MetaSpace mendayakan serentak pengagihan data kelas di luar jeda GC, meningkatkan prestasi.
  • Penambahbaikan Masa Hadapan: Penghapusan PermGen membuka jalan untuk penambahbaikan dan pengoptimuman JVM pada masa hadapan yang sebelum ini dihadkan oleh kekangannya.

Metaspace: The Penggantian

Dalam JDK 8, PermGen telah digantikan oleh Metaspace, yang menawarkan beberapa kelebihan:

  • Afiniti Pemuat Kelas: Metaspace dikaitkan dengan khusus pemuat kelas, memastikan bahawa jangka hayat kelas sepadan dengan kitaran hayat yang sepadan pemuat.
  • Peruntukan Linear: Metaspace menggunakan peruntukan linear, memudahkan pengurusan memori.
  • Tiada Penambakan Individu: Metaspace tidak melakukan penambakan individu, kecuali untuk pentakrifan semula kelas dan kegagalan pemuatan, seterusnya mengurangkan atas kepala.
  • Tiada Imbasan atau Pemadatan GC: Objek metaspace tidak diimbas atau dipadatkan semasa kitaran pengumpulan sampah, meningkatkan prestasi.
  • Penalaan Dioptimumkan: Metaspace boleh ditala menggunakan bendera -XX:MaxMetaspaceSize dan -XX:MetaspaceSize, membenarkan pengurusan memori yang lebih fleksibel.

Kesimpulan

Penyingkiran PermGen dalam JDK 8 membawa manfaat prestasi dan kestabilan yang ketara kepada aplikasi Java. Walaupun pilihan VM MaxPermSize tidak lagi relevan, Metaspace menyediakan penyelesaian yang sangat optimum dan cekap untuk mengendalikan metadata aplikasi.

Atas ialah kandungan terperinci Mengapakah pilihan VM MaxPermSize diabaikan dalam JDK 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan