Rumah  >  Artikel  >  Java  >  Apakah perbezaan antara timbunan dan timbunan

Apakah perbezaan antara timbunan dan timbunan

青灯夜游
青灯夜游asal
2022-11-22 16:12:509700semak imbas

Perbezaan: 1. Ruang timbunan biasanya diperuntukkan dan dikeluarkan oleh pengaturcara manakala ruang timbunan diperuntukkan dan dikeluarkan secara automatik oleh sistem pengendalian. 2. Timbunan disimpan dalam cache peringkat kedua, dan kitaran hayatnya ditentukan oleh algoritma pengumpulan sampah mesin maya manakala timbunan menggunakan cache peringkat pertama, yang biasanya berada dalam ruang storan apabila ia dipanggil , dan dikeluarkan serta-merta selepas panggilan selesai. 3. Struktur data adalah berbeza boleh dianggap sebagai pokok, manakala tindanan ialah struktur data masuk pertama dan terakhir.

Apakah perbezaan antara timbunan dan timbunan

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Java 8, komputer DELL G3.

Konsep timbunan dan tindanan:

Tindanan ialah dua struktur data. Tindanan ialah struktur data di mana item data disusun mengikut susunan item data hanya boleh disisipkan dan dipadamkan pada satu hujung (dipanggil bahagian atas tindanan). Dalam aplikasi mikropengawal, timbunan adalah kawasan storan khas yang fungsi utamanya adalah untuk menyimpan data dan alamat sementara, dan biasanya digunakan untuk melindungi titik putus dan adegan. Perkara utama: Timbunan, keutamaan baris gilir, keluar dahulu dahulu (FIFO—masuk dahulu keluar dahulu). Susun, masuk dahulu, keluar terakhir (FILO—Masuk Pertama/Keluar Terakhir).

Perbezaan antara timbunan dan timbunan:

1. Perbezaan dalam peruntukan ruang tindanan:

1. Timbunan (beroperasi. sistem): Diperuntukkan dan dikeluarkan secara automatik oleh sistem pengendalian untuk menyimpan nilai parameter fungsi, nilai pembolehubah setempat, dsb. Kaedah pengendaliannya adalah serupa dengan timbunan dalam struktur data; OS apabila program tamat Kaedah peruntukan adalah serupa dalam senarai terpaut.

2. Perbezaan dalam kaedah caching tindanan:

1. Tindanan menggunakan cache peringkat pertama Mereka biasanya berada dalam ruang storan apabila ia dipanggil, dan serta-merta selepas panggilan selesai. Lepaskan; apabila ia menjadi objek yatim). Oleh itu, kelajuan memanggil objek ini agak rendah.

3. Perbezaan dalam struktur data tindanan:

Timbunan (struktur data): Timbunan boleh dianggap sebagai pokok, seperti: jenis timbunan; Tindanan (struktur data): Struktur data masuk pertama, keluar terakhir.

Timbunan dan timbunan dalam Java:

Timbunan dan timbunan ialah tempat yang digunakan oleh Java untuk menyimpan data dalam Ram. Tidak seperti C, Java secara automatik menguruskan timbunan dan timbunan, dan pengaturcara tidak boleh terus menetapkan timbunan atau timbunan.

Beberapa jenis asas pembolehubah dan pembolehubah rujukan objek yang ditakrifkan dalam fungsi diperuntukkan dalam ingatan tindanan fungsi. Apabila pembolehubah ditakrifkan dalam blok kod, Java memperuntukkan ruang memori untuk pembolehubah pada tindanan Apabila skop pembolehubah melebihi, Java secara automatik akan melepaskan ruang memori yang diperuntukkan untuk pembolehubah, dan ruang memori boleh serta-merta. digunakan untuk tujuan lain. Memori timbunan digunakan untuk menyimpan objek dan tatasusunan yang dicipta oleh yang baru Memori yang diperuntukkan dalam timbunan diuruskan oleh pemungut sampah automatik mesin maya Java. Selepas tatasusunan atau objek dijana dalam timbunan, anda juga boleh menentukan pembolehubah khas dalam timbunan supaya nilai pembolehubah dalam timbunan adalah sama dengan alamat pertama tatasusunan atau objek dalam memori timbunan timbunan menjadi Pembolehubah rujukan kepada tatasusunan atau objek. Pembolehubah rujukan adalah bersamaan dengan memberi nama kepada tatasusunan atau objek Anda kemudian boleh menggunakan pembolehubah rujukan dalam timbunan untuk mengakses tatasusunan atau objek dalam timbunan dalam atur cara.

Peruntukan pembolehubah dalam ingatan dalam Java
:

1. Pembolehubah kelas (pembolehubah diubah suai secara statik): Sistem memperuntukkannya dalam timbunan apabila program dimuatkan Memori alamat dalam timbunan disimpan pada timbunan untuk akses berkelajuan tinggi. Jangka hayat pembolehubah statik – kekal sehingga keseluruhan "sistem" ditutup.

2. Pembolehubah contoh: Apabila anda menggunakan kata kunci java baharu, sistem memperuntukkan ruang dalam timbunan yang tidak semestinya berterusan kepada pembolehubah (seperti contoh kelas), dan kemudian berdasarkan alamat memori timbunan berselerak , ditukar menjadi rentetan nombor yang panjang melalui algoritma cincang untuk mewakili "lokasi fizikal" pembolehubah ini dalam timbunan. Kitaran hayat pembolehubah contoh – Apabila rujukan kepada pembolehubah tika hilang, ia akan dimasukkan ke dalam "senarai" boleh dikitar semula oleh GC (pengumpul sampah), tetapi memori dalam timbunan tidak akan dikeluarkan serta-merta.

3. Pembolehubah setempat: Pembolehubah setempat diisytiharkan dalam kaedah tertentu atau segmen kod tertentu (seperti gelung for Apabila ia dilaksanakan, memori diperuntukkan pada tindanan skop, , ingatan dilepaskan serta-merta.

Ini melibatkan isu memori Java, anda boleh merujuk kepada:

Mekanisme memori Java

Tutorial yang disyorkan: "

tutorial java"

Atas ialah kandungan terperinci Apakah perbezaan antara timbunan dan timbunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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