Mengapa Saiz Memori Tindanan Sangat Terhad?
Apabila memperuntukkan memori pada timbunan, satu-satunya kekangan ialah ketersediaan RAM percuma. Sebaliknya, saiz memori tindanan yang diperuntukkan untuk benang biasanya lebih terhad, sekitar 1 MB. Had ini menentang soalan: mengapa kita tidak boleh mencipta objek dengan saiz sewenang-wenang pada tindanan?
Kekangan Teknikal: Peruntukan Memori Berterusan
Perbezaan utama antara timbunan dan peruntukan memori tindanan terletak pada pengurusan. Tindanan mesti disimpan di lokasi memori bersebelahan, bermakna ia tidak boleh diperuntukkan sewenang-wenangnya seperti yang diperlukan. Sebaliknya, sistem mesti menempah alamat maya untuk tujuan ini.
Had Penciptaan Benang
Saiz ruang alamat maya yang ditempah secara langsung memberi kesan kepada bilangan maksimum rangkaian yang boleh dicipta. Sebagai contoh, dalam aplikasi 32-bit dengan ruang alamat maya 2GB, timbunan 2MB mengehadkan had benang kepada 1024 utas. Had ini menjadi terhad terutamanya untuk aplikasi seperti pelayan web.
Pertimbangan Warisan pada Platform 64-bit
Walaupun platform 64-bit menawarkan ruang alamat maya yang lebih besar, tindanan had saiz telah dikekalkan. Ini mungkin disebabkan oleh amalan terbaik yang telah ditetapkan dan ketiadaan keperluan yang dirasakan untuk timbunan besar-besaran. Pembangun digalakkan untuk memperuntukkan objek besar pada timbunan dan melaraskan saiz tindanan secara manual jika benar-benar perlu.
Atas ialah kandungan terperinci Mengapakah Saiz Memori Tindanan Sangat Terhad Apabila Memori Timbunan Tiada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!