Jenis Tatasusunan, Timbunan, Tindanan dan Nilai Dinyahmistifikasi
Jenis nilai, seperti integer, biasanya disimpan pada tindanan. Walau bagaimanapun, dalam kes tatasusunan, tatasusunan itu sendiri diperuntukkan pada timbunan, manakala elemen individu masih disimpan pada tindanan.
Pertimbangkan kod berikut:
int[] myIntegers; myIntegers = new int[100];
Dalam ini contoh, new int[100] mencipta tatasusunan baharu 100 integer pada timbunan. Rujukan tatasusunan, myIntegers, disimpan pada tindanan dan menunjuk ke alamat timbunan tatasusunan.
Sekarang, mari kita jelaskan gelagat nilai dalam tatasusunan. Walaupun setiap integer ialah jenis nilai, adalah penting untuk memahami bahawa ia tidak berkotak apabila disimpan dalam tatasusunan. Sebaliknya, nilai sebenar disimpan terus dalam lokasi memori bersebelahan tatasusunan pada timbunan. Susunan ini memastikan akses yang cekap kepada elemen tatasusunan tanpa overhed tinju.
Untuk menggambarkan ini dengan jelas, pertimbangkan rajah berikut:
----------------------------------- | Heap | | -----------------------------------| | | Array: [0, 1, 2, 3, ..., 99] | | | -----------------------------------| ----------------------------------- / ---------------- | Stack | ---------------- | myIntegers Reference | ----------------
Seperti yang anda lihat, tatasusunan itu sendiri diperuntukkan pada timbunan, manakala rujukan myIntegers yang menunjuk kepada tatasusunan diperuntukkan pada tindanan.
Ringkasnya, tatasusunan memperuntukkan elemen individu mereka pada timbunan untuk mengoptimumkan prestasi, manakala rujukan tatasusunan berada pada timbunan. Reka bentuk ini menguruskan penggunaan memori dengan berkesan dan membolehkan akses yang cekap kepada data tatasusunan tanpa overhed tinju.
Atas ialah kandungan terperinci Di manakah Tatasusunan, Elemennya dan Rujukan Disimpan dalam Ingatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!