Sobes.tech
Junior

Qu'est-ce que le heap et la pile?

sobes.tech IA

Réponse de l'IA

Heap et Stack sont deux zones de mémoire utilisées par les programmes pour stocker des données.

  • Stack (pile) est une zone de mémoire où sont stockées les variables locales, les paramètres de fonctions et les adresses de retour. Il fonctionne selon le principe LIFO (dernier arrivé, premier sorti). Lorsqu'une fonction est appelée, un bloc est alloué dans la pile, et après sa fin, il est libéré. La pile a une taille limitée et est gérée automatiquement.

  • Heap (tas) est une zone de mémoire pour l'allocation dynamique d'objets et de données, dont la taille peut changer pendant l'exécution du programme. En Java, les objets sont créés dans le tas, et le ramasse-miettes libère automatiquement la mémoire inutilisée.

Exemple:

public void exemple() {
    int a = 10; // stocké dans la pile
    String s = new String("Bonjour"); // objet String créé dans le tas
}

Ici, a est une variable locale dans la pile, et l'objet String est dans le tas.