Le contenu de cet article est de présenter le mode usine et l'allocation de mémoire, ainsi que le lien entre le mode usine et l'allocation de mémoire. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
1. Le modèle d'usine est une classe ou une méthode responsable de la production d'autres objets. Usines couramment utilisées Une utilisation du modèle :
<?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. Une fois le code ci-dessus exécuté :
3. Analyse du code :
(1)代码中输出了两个对象,分部是$obj1和$obj2,输出了一次construct中的数字,两个对象编号一样 (2)由此可见,工厂模式可以做到一点,就是只new一次对象
1. Du point de vue de l'allocation, la mémoire peut être grossièrement divisée en quatre types : segment d'espace de pile, segment d'espace de tas, segment de code et segment statique d'initialisation.
2. Le segment d'espace de pile est un endroit pour stocker des types de données qui occupent la même longueur d'espace et occupent moins d'espace, tels que les entiers 1, 10, 100, 1000, 10000, 100000, etc. Attendez, l'espace occupé dans la mémoire est de la même longueur, les deux sont de 64 bits et 4 octets.
3. Le segment d'espace de tas est un type de données qui stocke des données de longueur variable et occupe un grand espace, comme des objets.
4. Le segment de code est l'endroit où le code du programme d'exécution lui-même est stocké.
5. Le segment de données est une variable globale qui stocke l'initialisation et n'est pas 0, comme les variables statiques et les constantes.
6. Icône d'allocation de mémoire :
7. La mémoire de la pile est directement accessible, mais la mémoire du tas n'est pas directement accessible.
8. Pour notre objet, il s'agit d'un type de données volumineux et il occupe une longueur d'espace variable, donc l'objet lui-même est placé dans le tas, mais le nom de l'objet C'est placé dans la pile , afin que l'objet puisse être utilisé à travers le nom de l'objet
9. Illustration de l'objet :
10. Comme vous pouvez le voir sur l'image ci-dessus, le nom de l'objet est stocké dans la pile, trois objets personnes sont nouveaux et trois informations d'objet spécifiques sont stockées dans le tas.
1. Pour résumer, on peut savoir que le mode usine ne crée que comme. autant que possible Une fois l'objet créé, il n'est pas nécessaire de créer des objets en double dans l'espace du tas, ce qui entraînerait une perte d'espace, car l'espace du tas lui-même est de longueur variable et possède un grand espace.
2. Mode Usine, extrayez les mots-clés, qui sont "une seule fois les nouveaux objets" et "économisent de l'espace sur le tas".
Tutoriels vidéo recommandés : "Tutoriel PHP"
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!