mercoledì 13 maggio 2020

Uso della memoria da parte di un programma, nozione di stack e Heap

Premessa

Abbiamo visto fin'ora  parlando di eccezioni, il concetto di CallStack  (pila delle  chiamate) →  la funzionalità  del debug che ci consente di vedere la catena o la pila delle chiamate. Mettendo le chiamate correnti in alto mentre quelle precedenti in basso. Il concetto di Stack →  un'area di memoria destinata per l'utilizzo  delle funzioni. Quest'area è destinata ha mantenere informazioni su queste call. Questa memoria ha diversi utilizzi: 



Una prima parte per di questa memoria code  →  destinata ha contenere le istruzioni eseguibili del programma stesso, cioè il codice

Un'altra area variabili globali →  che servono all'esecuzione di tutto il programma, che non sono definito all'interno delle funzioni ma al di fuori, valgono globalmente nel programma.

La parte Heap → area che serve per l'allocazione di oggetti che sono destinati a crescere indefinitivamente come i reference type e le classi, quindi è un 'area di memoria riservata all'allocazione dinamica degli oggetti che non hanno una dimensione predefinita.

Per quanto riguarda la parte di memoria Stack →  è un' area di memoria specializzata  che serve  a contenere tutti i dati dei nostri meotodi(funzioni) che andiamo ad eseguirle, abbiamo questa struttura a  pila contenente i  Value Type.

Ciascuna di queste funzioni causa l'allocazione di un area riservata per ciascuna funzione e viene chiamata Stack Frame via via che ci sono nuove chiamate ci sono  nuovi Stack Frame.  Quindi nello Stack Frame ci sono un sacco di informazioni, sono presenti le variabili locali definite all'interno della funzione. Le New entry  vengono aggiunte in cima e vengono definite LiFO(Last In First Out)  che sono le ultime ad entrare e le prime ad uscire.
La dimensione della Stack di solito è 1GB per 32 bit
La dimensione della Stack di solito è 4GB per 64 bit



E' possibile che il programma  ecceda la dimensione messa a disposizione e si genera questa eccezione chiamata Stack  Overflow.



Nessun commento:

Posta un commento

applicazione13

- Svolgere l' Esercizio 4  indicato nel video 49 (processo aleatorio + ordini e calcolo PNL) - Completare l' Esercizio 4  aggiungen...