Copier en écriture en PHP signifie que lors de l'affectation de variables à des variables, ces variables de même valeur pointent vers la même mémoire Uniquement lorsque celles-ci pointent vers la même valeur de la même mémoire, et l'une des variables Variable. la séparation n'est requise que lorsque la valeur d'une variable change.
Copie sur écriture en PHP signifie :
写时复制
(Copie sur écriture, également abrégé en COW), comme son nom l'indique, il copie en fait une copie de la mémoire pour la modifier lors de l'écriture. COW a d'abord été utilisé dans les systèmes *nix pour optimiser l'utilisation des threads et de la mémoire, puis a été largement utilisé dans divers langages de programmation, tels que STL de C++, etc.
Dans le noyau PHP, COW
est également la principale méthode d'optimisation de la mémoire. Dans la discussion précédente sur les variables et la mémoire, le comptage de références joue un rôle crucial dans l'identification de la destruction et du recyclage des variables. Le but du comptage de références est de permettre à COW de fonctionner normalement, obtenant ainsi une utilisation optimale de la mémoire.
Avantages de la copie sur écriture :
est que lors de l'attribution d'une valeur à une variable, elle ne s'applique pas à une nouvelle mémoire pour stocker la valeur enregistrée par le nouvelle variable, mais simplement La mémoire est partagée via un compteur. Ce n'est que lorsque la valeur de la variable pointée par l'une des références change qu'un nouvel espace est alloué pour enregistrer le contenu de la valeur afin de réduire l'utilisation de la mémoire.
Du point de vue de la structure de données de base sous-jacente de PHP
ref_count et is_ref sont définis dans la structure zval
is_ref identifie si l'utilisateur utilise & comme obligatoire ; reference ;
ref_count est un décompte de références, utilisé pour identifier le nombre de variables par lesquelles ce zval est référencé, c'est-à-dire une référence automatique copiée lors de l'écriture. Lorsqu'il est égal à 0, il sera détruit.
Recommandations d'apprentissage associées : Programmation PHP de l'entrée à la maîtrise
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!