Rumah pembangunan bahagian belakang tutorial php 奇怪的现象:恒量的创建过程

奇怪的现象:恒量的创建过程

Jun 13, 2016 pm 01:18 PM
dump int memory usage var

奇怪的现象:常量的创建过程

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php var_dump( memory_get_usage() );  // int(129100)
var_dump( memory_get_usage() );  // int(129156)  - 很难理解,这里为什么会有内存增加?
var_dump( memory_get_usage() );  // int(129156)
define('hello', 'WORLD');
var_dump( memory_get_usage() );  // int(129156)   - 既然创建了一个常量,就该有内存增加。
$hello = 'WORLD';
var_dump( memory_get_usage() );  // int(129304)
Salin selepas log masuk


------解决方案--------------------
看这个吧:
http://www.laruence.com/2011/03/04/1894.html

php和C那样的底层语言是不一样的,它本身更象一个小系统
------解决方案--------------------
我的执行结果是
int(51312)
int(51424)
int(51424)
int(51480)
int(51480)

我觉得讨论单条语句所花的内存没有意义。内存的分配实际上都是分段的,也就是即使你需要1个字节的内存,实际分配有可能是32个字节或者1024个字节,取决于分配策略,因为这样就不需要每次使用每次分配,一个变量所花的内存一般按照一个字母一个字节近似计算一下即可,很难精确计算。

另外var_dump这个函数本身会输出字符串,这个字符串是不是也需要内存,这取决于内部实现。为什么有的时候运行会增加内存有的时候内存不变,那就是因为前次分配多出来的内存是否够用的问题,如果够用就不需要增加,如果不够用就要增加。
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

CAMM2 untuk PC desktop: MSI menerangkan faedah standard RAM baharu untuk menara permainan CAMM2 untuk PC desktop: MSI menerangkan faedah standard RAM baharu untuk menara permainan Aug 17, 2024 pm 06:47 PM

Modul LPCAMM2 pertama untuk komputer riba telah pun dihantar, dan papan utama desktop juga dijangka akan dilengkapi dengan CAMM2 pada masa hadapan. CAMM2 dan LPCAMM2 tidak serasi antara satu sama lain, malah pada PC desktop, pelanggan perlu berhati-hati

Apakah fail dump? Apakah fail dump? Jan 12, 2024 pm 04:58 PM

Fail dump biasanya merujuk kepada fail binari, juga dikenali sebagai fail dump atau fail dump teras. Fail jenis ini dijana oleh sistem komputer apabila ia menghadapi ralat yang serius atau situasi tidak normal Ia digunakan untuk menyimpan status, tindanan, daftar, imej memori, log dan maklumat lain sistem atau aplikasi.

Penjelasan terperinci tentang kaedah menukar jenis int kepada bait dalam PHP Penjelasan terperinci tentang kaedah menukar jenis int kepada bait dalam PHP Mar 06, 2024 pm 06:18 PM

Penjelasan terperinci tentang kaedah menukar jenis int kepada bait dalam PHP Dalam PHP, kita selalunya perlu menukar jenis integer (int) kepada jenis bait (Byte), seperti semasa berurusan dengan penghantaran data rangkaian, pemprosesan fail atau algoritma penyulitan . Artikel ini akan memperkenalkan secara terperinci cara menukar jenis int kepada jenis bait dan memberikan contoh kod khusus. 1. Hubungan antara jenis int dan bait Dalam medan komputer, jenis data asas int mewakili integer, manakala bait (Byte) ialah unit storan komputer, biasanya data binari 8-bit

Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int Aug 25, 2023 pm 08:25 PM

Dalam C++, pembolehubah jenis int hanya boleh menyimpan nilai integer positif atau negatif; Terdapat nilai terapung dan berganda tersedia untuk tujuan ini. Jenis data berganda dicipta untuk menyimpan perpuluhan sehingga tujuh digit selepas titik perpuluhan. Penukaran integer kepada jenis data berganda boleh dilakukan secara automatik oleh pengkompil (dipanggil penukaran "tersirat"), atau ia boleh diminta secara eksplisit oleh pengaturcara daripada pengkompil (dipanggil penukaran "eksplisit"). Dalam bahagian berikut, kami akan merangkumi pelbagai kaedah penukaran. Penukaran tersirat Pengkompil melakukan penukaran jenis tersirat secara automatik. Untuk mencapai matlamat ini, dua pembolehubah diperlukan - satu jenis titik terapung dan satu lagi jenis integer. Apabila kita hanya menetapkan nilai titik terapung atau pembolehubah kepada pembolehubah integer, pengkompil menjaga semua perkara lain

Apakah julat nilai int32 Apakah julat nilai int32 Aug 11, 2023 pm 02:53 PM

Julat nilai int32 ialah dari -2 hingga kuasa ke-31 hingga 2 hingga kuasa ke-31 tolak 1, iaitu, -2147483648 hingga 2147483647. int32 ialah jenis integer bertanda, yang bermaksud ia boleh mewakili nombor positif, nombor negatif dan sifar Ia menggunakan 1 bit untuk mewakili bit tanda, dan baki 31 bit digunakan untuk mewakili nilai berangka. Oleh kerana satu bit digunakan untuk mewakili bit tanda, bilangan berkesan bit int32 ialah 31.

Berapakah bilangan nombor java int? Berapakah bilangan nombor java int? Mar 06, 2023 pm 04:09 PM

Di Java, int ialah jenis data bertanda 32-bit, dan pembolehubahnya memerlukan memori 32-bit julat sah jenis data int ialah -2147483648 hingga 2147483647, dan semua integer dalam julat ini dipanggil literal integer. Literal integer boleh diberikan kepada pembolehubah int, seperti "int num1 = 21;".

Berapa banyak bait yang diduduki int? Berapa banyak bait yang diduduki int? Jan 22, 2024 pm 03:14 PM

Bilangan bait yang diduduki oleh jenis int mungkin berbeza dalam bahasa pengaturcaraan yang berbeza dan platform perkakasan yang berbeza. Pengenalan terperinci: 1. Dalam bahasa C, jenis int biasanya menduduki 2 bait atau 4 bait. Dalam sistem 32-bit, jenis int menduduki 4 bait, manakala dalam sistem 16-bit, jenis int menduduki 2 bait. Dalam sistem 64-bit, jenis int mungkin menduduki 8 bait 2. Di Java, jenis int biasanya menduduki 4 bait, manakala dalam Python, jenis int tidak mempunyai had bait dan boleh dilaraskan secara automatik, dsb.

Peranan dan contoh kata kunci var dalam PHP Peranan dan contoh kata kunci var dalam PHP Jun 28, 2023 pm 08:58 PM

Peranan dan contoh kata kunci var dalam PHP Dalam PHP, kata kunci var digunakan untuk mengisytiharkan pembolehubah. Dalam versi PHP sebelumnya, menggunakan kata kunci var ialah cara idiomatik untuk mengisytiharkan pembolehubah ahli, tetapi penggunaannya tidak lagi disyorkan. Walau bagaimanapun, dalam beberapa kes, kata kunci var masih digunakan. Kata kunci var digunakan terutamanya untuk mengisytiharkan pembolehubah tempatan dan secara automatik menandakan pembolehubah sebagai skop tempatan. Ini bermakna pembolehubah hanya boleh dilihat dalam blok kod semasa dan tidak boleh diakses dalam fungsi atau blok kod lain. Gunakan var

See all articles