Maison  >  Article  >  Quelles sont les différences entre le tas et la pile

Quelles sont les différences entre le tas et la pile

青灯夜游
青灯夜游original
2019-05-05 13:10:02114814parcourir

Les différences entre le tas et la pile sont : 1. Différence dans l'allocation d'espace ; 2. Différence dans la méthode de mise en cache 3. Différence dans la structure des données ; L'espace du tas est généralement alloué et libéré par le programmeur, et l'espace de la pile est automatiquement alloué et libéré par le système d'exploitation (compilateur). La pile utilise le cache de premier niveau et le tas utilise le cache de deuxième niveau.

Quelles sont les différences entre le tas et la pile

Quelle est la différence entre le tas et la pile

1. >

Pile (système d'exploitation) : automatiquement allouée et libérée par le système d'exploitation (compilateur), stockant les valeurs des paramètres de fonction, les valeurs des variables locales, etc. Il fonctionne comme une pile dans une structure de données.

Heap (système d'exploitation) : Généralement alloué et libéré par le programmeur. Si le programmeur ne le libère pas, il peut être recyclé par le système d'exploitation à la fin du programme. La méthode d'allocation est similaire à une liste chaînée.

2. Différences dans les méthodes de mise en cache de la pile

La pile utilise un cache de premier niveau. Elles se trouvent généralement dans l'espace de stockage lorsqu'elles sont appelées et sont libérées immédiatement. une fois l'appel terminé.

Le tas est stocké dans le cache de deuxième niveau et le cycle de vie est déterminé par l'algorithme de récupération de place de la machine virtuelle (une fois qu'il devient un objet orphelin, il peut être recyclé). Par conséquent, la vitesse d’appel de ces objets est relativement faible.

3. Différences dans la structure des données de la pile

Tas (structure des données) : Le tas peut être considéré comme un arbre, tel que : le tri par tas.

Pile (structure de données) : une structure de données premier entré, dernier sorti.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn