首頁 後端開發 php教程 奇怪的现象:恒量的创建过程

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

Jun 13, 2016 am 10:42 AM
dump get int memory usage

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

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpvar_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)
登入後複製


------解决方案--------------------
看这个吧:
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这个函数本身会输出字符串,这个字符串是不是也需要内存,这取决于内部实现。为什么有的时候运行会增加内存有的时候内存不变,那就是因为前次分配多出来的内存是否够用的问题,如果够用就不需要增加,如果不够用就要增加。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
dump文件是什麼文件 dump文件是什麼文件 Jan 12, 2024 pm 04:58 PM

dump檔案通常是指一種二進位文件,也被稱為轉儲檔案或核心轉儲檔案。這種檔案是電腦系統在遇到嚴重錯誤或異常情況時產生的,用於儲存系統或應用程式的狀態、堆疊、暫存器、記憶體映像、日誌等資訊。

適用於桌上型電腦的 CAMM2:MSI 解釋了遊戲塔新 RAM 標準的優勢 適用於桌上型電腦的 CAMM2:MSI 解釋了遊戲塔新 RAM 標準的優勢 Aug 17, 2024 pm 06:47 PM

第一批用於筆記型電腦的 LPCAMM2 模組已經交付,預計未來桌上型電腦主機板也將配備 CAMM2。 CAMM2和LPCAMM2彼此不相容,即使在桌上型電腦上,客戶也需要小心

PHP中int型別轉換為位元組的方法詳解 PHP中int型別轉換為位元組的方法詳解 Mar 06, 2024 pm 06:18 PM

PHP中int類型轉換為位元組的方法詳解在PHP中,我們經常需要將整數類型(int)轉換為位元組(Byte)類型,例如在處理網路資料傳輸、檔案處理或加密演算法等場景中。本文將詳細介紹如何將int類型轉換為位元組類型,以及提供具體的程式碼範例。 1.int型別與位元組的關係在電腦領域,基本資料型別int表示整數,而位元組(Byte)是電腦儲存單位,通常是8位元二進位數據

如何使用PowerShell自動執行任務 如何使用PowerShell自動執行任務 Feb 20, 2024 pm 01:51 PM

如果您是IT管理員或技術專家,您一定意識到自動化的重要性。尤其對於Windows用戶來說,MicrosoftPowerShell是最佳的自動化工具之一。微軟為滿足您的自動化需求提供了各種工具,無需安裝第三方應用程式。本指南將詳細介紹如何利用PowerShell自動化執行任務。什麼是PowerShell腳本?如果您有使用PowerShell的經驗,您可能已經使用過命令來設定您的作業系統。腳本是.ps1檔案中這些指令的集合。 .ps1檔案包含由PowerShell執行的腳本,例如基本的Get-Help

C++程式將double類型的變數轉換為int型別 C++程式將double類型的變數轉換為int型別 Aug 25, 2023 pm 08:25 PM

在C++中,int型別的變數只能保存正整數或負整數值;它們不能保存小數值。有float和double值可用於此目的。為了儲存小數點後最多七位的小數,創建了雙精度資料類型。整數到雙精確度資料類型的轉換可以由編譯器自動完成(稱為「隱式」轉換),也可以由程式設計師向編譯器明確要求(稱為「明確」轉換)。在接下來的部分中,我們將介紹各種轉換方法。隱式轉換編譯器會自動執行隱式類型轉換。要實現這一點,需要兩個變數——一個是浮點類型,另一個是整數類型。當我們簡單地將浮點值或變數分配給整數變數時,編譯器將處理所有其他事情

java如何發起http請求呼叫post與get接口 java如何發起http請求呼叫post與get接口 May 16, 2023 pm 07:53 PM

一、java調用post介面1、使用URLConnection或HttpURLConnectionjava自帶的,無需下載其他jar包URLConnection方式調用,如果介面回應碼被服務端修改則無法接收到返回報文,只能當回應碼正確時才能接收到回傳publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt

int32的取值範圍是多少 int32的取值範圍是多少 Aug 11, 2023 pm 02:53 PM

int32的取值範圍是從-2的31次方到2的31次方減1,即-2147483648到2147483647。 int32是有符號的整數型,表示它可以表示正數、負數和零,它使用1位來表示符號位,而剩餘的31位元用來表示數值。由於一位用來表示符號位,所以int32的有效位數是31位元。

go語言怎麼將int轉為字串型 go語言怎麼將int轉為字串型 Jun 04, 2021 pm 03:56 PM

轉換方法:1、使用Itoa()函數,語法「strconv.Itoa(num)」;2、使用FormatInt()函數,可將int型資料轉換成指定進位並以字串的形式傳回,語法「strconv .FormatInt(num,10)」。

See all articles