Articles of garbage collection

In che modo le chiusure di JavaScript sono spazzate via

Ho registrato il seguente bug di Chrome , che ha portato a molte perdite di memoria serie e non ovvie nel mio codice: (Questi risultati utilizzano il profiler della memoria di Chrome Dev Tools, che esegue il GC, e quindi acquisisce un’istantanea dell’heap di tutto ciò che non è raccolto.) Nel codice sottostante, l’istanza someClass […]

Svuota una lista array o semplicemente creane una nuova e lascia che la vecchia sia raccolta dei rifiuti?

Quali sono i vantaggi e gli svantaggi dello svuotamento di una raccolta (nel mio caso si tratta di una ArrayList) rispetto alla creazione di una nuova (e lasciando che il garbage collector cancelli quello vecchio). In particolare, ho un list ArrayList chiamato. Quando si verifica una determinata condizione, ho bisogno di svuotare la list e […]

SqlCommand.Dispose chiude la connessione?

Posso usare questo approccio in modo efficiente? using(SqlCommand cmd = new SqlCommand(“GetSomething”, new SqlConnection(Config.ConnectionString)) { cmd.Connection.Open(); // set up parameters and CommandType to StoredProcedure etc. etc. cmd.ExecuteNonQuery(); } La mia preoccupazione è: il metodo Dispose di SqlCommand (che viene chiamato quando si esce dal blocco using) chiude l’object SqlConnection sottostante o no?

Qual è la differenza tra gc () e rm ()

Sto periodicamente pulendo la memoria in R usando una chiamata a rm(list=ls()) . Devo chiamare il garbage collector gc() dopo di ciò? Qual è la differenza tra queste 2 funzioni? gc() chiama rm() per certe variabili?

Quale ciclo ha prestazioni migliori? Perché?

String s = “”; for(i=0;i<….){ s = some Assignment; } o for(i=0;i<..){ String s = some Assignment; } Non ho più bisogno di usare ‘s’ fuori dal ciclo. La prima opzione è forse migliore poiché una nuova stringa non viene inizializzata ogni volta. Il secondo tuttavia comporterebbe il fatto che la variabile sia limitata al […]

È necessario rimuovere esplicitamente i gestori di eventi in C #

Ho una class che offre alcuni eventi. Quella class è dichiarata globalmente, ma non è istanziata su quella dichiarazione globale – è istanziata in base alle necessità nei metodi che ne hanno bisogno. Ogni volta che la class è necessaria in un metodo, è istanziata e i gestori di eventi sono registrati. È necessario rimuovere […]

Garbage Collection su una variabile locale

Sono un programmatore C ++ che entra nel mondo di Java. E non riesco a liberarmi della brutta sensazione di dover lasciare che il garbage collector di Java esegua la mia pulizia. Come, ad esempio, questo codice si comporterà in Java? public void myFunction() { myObject object = new myObject(); object.doSomething(); } L’object variabile locale […]

Comportamento della raccolta dei dati obsoleti per String.intern ()

Se utilizzo String.intern () per migliorare le prestazioni poiché posso utilizzare “==” per confrontare la stringa internata, eseguirò problemi di raccolta dei rifiuti? In che modo il meccanismo di garbage collection delle stringhe internate differisce dalle stringhe normali?

Garbage collector e riferimento circolare

Considera queste due classi: public class A { B b; public A(B b) { this.b = b; } } public class B { A a; public B() { this.a = new A(this); } } Se ho classi progettate come sopra, gli oggetti di tali classi sarebbero raccolti da Garbage Collector (GC)? Supponiamo che io faccia […]

Perdita di memoria in C #

È mai ansible in un sistema gestito perdere memoria quando si assicura che tutti gli handle, le cose che implementano IDispose siano eliminati? Ci sarebbero casi in cui alcune variabili sono tralasciate?