Iscriviti ora

Accesso

Password dimenticata

Hai perso la tua password? Inserisci il tuo indirizzo email. Riceverai un link e verrà creata una nuova password via e-mail.

Add postale

Devi effettuare il login per aggiungere post .

Aggiungere domanda

Devi effettuare il login per fare una domanda.

Accesso

Iscriviti ora

Benvenuti a Scholarsark.com! La tua registrazione ti darà accesso a utilizzare più funzionalità di questa piattaforma. È possibile porre domande, contributi o fornire risposte, Guarda i profili di altri utenti e molto altro ancora. Iscriviti ora!

Algoritmi di Garbage Collection

Algoritmi di Garbage Collection

Prezzo: $49.99

Elementi essenziali dei netturbini

Perdite di memoria e puntatori penzolanti sono i problemi principali della gestione manuale della memoria. Si elimina un nodo padre in un elenco collegato, dimenticando di eliminare prima tutti i suoi figli e la tua memoria perde. Elimini una catena di oggetti nell'ordine corretto, ma improvvisamente il tuo programma si arresta in modo anomalo poiché ti sei dimenticato del secondo proprietario di questa risorsa, che ora tenta di dereferenziare un puntatore nullo.

Per evitare questi problemi, implementano la maggior parte dei moderni linguaggi di programmazione di alto livello gestione automatica della memoria. Assegni gli oggetti manualmente, tuttavia non preoccuparti del loro deallocazione: un programma speciale, netturbino, sa come automaticamente deallocarli correttamente, e recuperare per un futuro riutilizzo.

Nel Elementi essenziali dei netturbini classe studiamo tutte le diverse tecniche e algoritmi relativi alla gestione automatica della memoria, che sono usati oggi in pratica.

Per chi è questa classe?

Prima di tutto, per ingegneri del compilatore.

Nell'implementare il tuo linguaggio di programmazione, c'è un probabilità molto alta dovrai implementare un garbage collector. Anche le lingue che inizialmente erano posizionate come "memoria sicura", come Ruggine, eventualmente implementato conteggio automatico dei riferimenti (ARCO) e altri collezionisti.

Reiterare: nella maggior parte dei moderni linguaggi di programmazione di alto livello, un modulo Garbage Collector (o multiplo Moduli GC, come in Java) è praticamente un requisito oggi.

Cosa succede se non implemento i linguaggi di programmazione ogni giorno?

Se sei non un ingegnere compilatore, allora la classe può ancora essere interessante per te. Implementazione di un Garbage Collector o di un gestore di memoria in generale, è una bella compito di ingegneria avanzata. È un trucco semplice: prendi un progetto complesso (come un netturbino, compilatore, interprete, eccetera), e mentre lo costruisci, tu impari tutte le diverse strutture dati e algoritmi. E poi torna a “programmazione quotidiana”, migliorato come un ingegnere migliore, con la conoscenza generica trasferibile di sistemi complessi.

Ho bisogno di C o C++ per questo progetto?

Non proprio! Ovviamente, C e C++ sono probabilmente i migliori linguaggi per le manipolazioni della memoria grezza e si adattano bene qui, comunque nel corso che studiamo algoritmi di progettazione generici e concentrarsi principalmente su aspetti teorici di garbage collector e allocatori di memoria. Ciò significa che puoi implementarli in qualunque lingua tu vuoi. Per esempio, puoi allocare un `ArrayBuffer` in JavaScript per a mucchio virtuale, o allo stesso modo `bytearray` in Python, Ruggine, eccetera.

La maggior parte degli algoritmi del corso sono descritti in pseudo-codice generico, quindi puoi portarli in qualsiasi lingua.

Cosa c'è di specifico in questa classe?

Le cose principali di queste lezioni sono:

  • Conciso e dritto al punto. Ogni lezione è autosufficiente, conciso, e descrive le informazioni direttamente correlate all'argomento, non distrarre su materiali o discorsi non correlati.

  • Presentazione animata combinato con note di editing dal vivo. Questo facilita la comprensione degli argomenti, e mostra come (e quando a tempo) le strutture degli oggetti sono collegate. Le diapositive statiche semplicemente non funzionano per un contenuto complesso.

Materiali di lettura

Come ulteriore lettura e letteratura aggiuntiva per questo corso si raccomandano i seguenti libri:

  • Il manuale per la raccolta dei rifiuti: L'arte della gestione automatica della memoria di Antony Hosking, Eliot Moss, e Richard Jones

  • Il manuale di progettazione del compilatore: Ottimizzazioni e generazione di codice macchina di Y.N. Srikanth, Priti Shankar

Lascia un commento