老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務

PHP筆記變量和內存管理

鳥哥的博客是個大寶庫,正在從頭看起。

創(chuàng)新互聯(lián)建站長期為成百上千客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為大姚企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都做網(wǎng)站,大姚網(wǎng)站改版等技術服務。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

《深入理解PHP內存管理之誰動了我的內存》

http://www.laruence.com/2011/03/04/1894.html

1、memory_get_usage 函數(shù)

int memory_get_usage ([ bool $real_usage = false ] )

PHP腳本使用的內存(不含 memory_get_usage() 函數(shù)本身占用的內存)

memory_get_usage()的參數(shù)$real_usage,默認為 FALSE;當設置為 TRUE 時,得到的內存值為PHP 內存管理占用的內存。

//php分配到的內存
var_dump(memory_get_usage(true));
//php使用內內存
var_dump(memory_get_usage());

結果

int 262144
int 239368

PHP的內存管理機制是:預先分配一塊空間,用來存儲變量,當空間不夠時,再申請一塊新的空間。

memory_get_usage(true)即為預先分配的內存。

之前沒有注意過PHP頁面的內存使用,以后優(yōu)化頁面時候也應該用這個函數(shù)來分析代碼。

2、變量賦值和內存

var_dump(memory_get_usage());

$a = "Hello World";
var_dump(memory_get_usage());

$b = $a;
var_dump(memory_get_usage());

unset($b);
var_dump(memory_get_usage());

unset($a);
var_dump(memory_get_usage());

結果

int 239776
int 239912
int 240000
int 239912
int 239776

239912-239776=136

240000-239912=88

$a和$b賦值所使用的內存不同,原因是$b賦值并沒有分配內存,這88個字節(jié)是輸出函數(shù)占用的。

另外銷毀$b,并不影響$a使用的內存,這個是內存管理引用計數(shù)的原因

改一下例子就能很清楚的了解變量賦值和內存的關系

var_dump(memory_get_usage());

$a = "Hello World";
var_dump(memory_get_usage());

$b = "Hello World";
var_dump(memory_get_usage());

unset($b);
var_dump(memory_get_usage());

unset($a);
var_dump(memory_get_usage());

結果

int 239816
int 239952
int 240088
int 239952
int 239816

239952-239816=136

240088-239952=136

另外引用賦值占用內存規(guī)則和直接賦值相似,這也涉及到內存管理的引用計數(shù)規(guī)則

3、php垃圾回收機制,這部分了解的還不夠深入,簡單記錄一個函數(shù)

xdebug_debug_zval 需要安裝xdebug擴展

$a = "Hello World";
xdebug_debug_zval('a');

輸出

a:

(refcount=1, is_ref=0),string 'Hello World' (length=11)

refcount 指向該值的變量數(shù)量

is_ref 代表是否有地址引用

類型



變量賦值的時候:is_ref為false  refcount為1

手冊地址

引用計數(shù)的基本知識

http://php.net/manual/zh/features.gc.refcounting-basics.php

每個php變量存在一個叫"zval"的變量容器中。一個zval變量容器,除了包含變量的類型和值,還包括兩個字節(jié)的額外信息。第一個是"is_ref",是個bool值,用來標識這個變量是否是屬于引用集合(reference set)。通過這個字節(jié),php引擎才能把普通變量和引用變量區(qū)分開來,由于php允許用戶通過使用&來使用自定義引用,zval變量容器中還有一個內部引用計數(shù)機制,來優(yōu)化內存使用。第二個額外字節(jié)是"refcount",用以表示指向這個zval變量容器的變量(也稱符號即symbol)個數(shù)。所有的符號存在一個符號表中,其中每個符號都有作用域(scope),那些主腳本(比如:通過瀏覽器請求的的腳本)和每個函數(shù)或者方法也都有作用域。  

以上翻看鳥哥的11年的blog文章,對PHP的變量和內存管理有了一個初步的認識。


新聞標題:PHP筆記變量和內存管理
標題網(wǎng)址:http://www.xueling.net.cn/article/jippic.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 黄色成年人国语版在线观看 | 国产freesexvideos性中国 | 无码AV中文出轨人妻 | 成人激情在线观看 | 在线观看国产h | 亚洲国产精品黑人久久久 | h视频在线免费 | 日韩精品亚洲人成在线 | 337P亚洲日本中国大胆69 | 欧美大杂交18p | 亚洲另类精品国产一级欧美忘忧草 | 狠狠躁天天躁无码中文字幕图 | 99精品免费 | 少妇把腿扒开让我舔18 | 欧美专区中文字幕 | 亚洲免费高清视频 | 日韩亚洲国产中文字幕 | 娇喘抽搐高潮喷水A片免费观看 | 鲁一鲁一鲁一鲁一曰综合网 | 色爱区成人综合网 | www.嫩草影院| 99国产精品免费观看视频re | 久操网在线 | 国产精品天干天干 | 五月丁香亚洲综合无码 | 亚欧美精品 | 制服丝袜国产AV无码 | 国产一级二级毛片 | 男女在一起拔萝卜免费视频大全 | 久久人妻无码中文字幕 | 日韩在线三区 | 干片网在线观看 | 天天操夜夜爽 | 午夜视频体内射.COM.COM | 丰满极品饥渴少妇在线观看 | 2018av天堂在线视频精品观看 | 精品国产一区二区三 | 出差被夫の上司持久侵犯在线观看 | 五月天我淫我色 | caoporn人人| 欧美一级黄色片免费看 |