本篇文章帶給大家的內容是介紹工廠模式與記憶體分配,以及工廠模式與記憶體分配之間的連結。有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
#1、工廠模式就是負責生產其他物件的類別或方法,常用的工廠模式的一個用法:
<?php class ExportIndustryObj{ public $_obj; public function getObj(){ if(!$this->_obj){ $this->_obj = new Test(); } return $this->_obj; } } class Test{ public function __construct(){ echo 121111; } } $industry = new ExportIndustryObj(); $obj1 = $industry->getObj(); $obj2 = $industry->getObj(); var_dump($obj1,$obj2);
2、上述程式碼執行後:
#3、程式碼分析:
(1)代码中输出了两个对象,分部是$obj1和$obj2,输出了一次construct中的数字,两个对象编号一样 (2)由此可见,工厂模式可以做到一点,就是只new一次对象
二、物件在記憶體中是如何分配的呢?
1、記憶體從分配角度大體可以分為四種類型:堆疊空間段、堆疊空間段、程式碼段、初始化靜態段。
2、堆疊空間段
是儲存佔用相同空間長度並且佔用空間較小的資料類型的地方,比如說整數1,10,100,1000,10000,100000 等等,在記憶體裡面佔用空間是等長的,都是64 位元4 個位元組。
3、堆空間段
是儲存資料長度不定且佔用空間較大的資料類型,例如物件。 4、程式碼段是儲存執行程式程式碼本身的地方。 5、資料段
是儲存初始化且不為0的全域變量,如靜態變數和常數。
6、記憶體分配圖示:
以上是工廠模式與記憶體分配之間有什麼關聯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!