Datatypen stakk
Datatypen stakk representerer en del av operativminnet, tildelt hver datatråd.
Arbeidet til stakken bestemmes av prinsippet LIFO. Essensen av dette prinsippet er at det siste tilførte minnefragmentet i stakken vil være det første som fjernes fra den.
Essensen av arbeidet med stakken ligger i at når en ny variabel deklareres via en funksjon, blir den første lagt til i stakken. Når funksjonen er ferdig med arbeidet - blir variabelen automatisk slettet fra stakkens minne og delen som den okkuperte blir tilgjengelig for andre objekter.
Hovedfordelen med stakken er den høye kjørehastigheten til koden, men ulempen er at når minnet tildelt for stakken er fullt, kan de deklarerte variablene ikke lenger endres og kjøringen av koden vil stoppe. Størrelsen på stakken settes når tråden opprettes, og hver variabel har sin egen maksimale minnestørrelse, som først og fremst avhenger av dens datatype. På grunn av dette er det nødvendig å deklarere størrelsen på komplekse datatyper (for eksempel objekter) på forhånd. Stakken kan også bare holde lokale variabler i minnet, for globale variabler bør haugen brukes.