Articles of gestione della memoria

Capacità iniziale dei tipi di raccolta, ad esempio Dizionario, Elenco

Alcuni tipi di raccolta in .Net hanno un parametro di costruzione “Initial Capacity” facoltativo. Per esempio: Dictionary something = new Dictionary(20); List anything = new List(50); Non riesco a trovare quale sia la capacità iniziale predefinita per questi oggetti su MSDN. Se so che conserverò solo 12 oggetti in un dizionario, non ha senso impostare […]

Gli oggetti dovrebbero cancellarsi in C ++?

Ho trascorso gli ultimi 4 anni in C #, quindi sono interessato alle attuali best practice e schemi di progettazione comuni in C ++. Considera il seguente esempio parziale: class World { public: void Add(Object *object); void Remove(Object *object); void Update(); } class Fire : Object { public: virtual void Update() { if(age > burnTime) […]

Memoria massima che può essere allocata da un processo .NET

Qual è la memoria massima che il garbage collector può allocare per un processo .NET? Quando compilo a x64, Process.GetCurrentProcess.MaxWorkingSet restituisce circa 1,4 GB, ma quando compilo a AnyCPU (x64) viene restituito lo stesso numero. Per x64 dovrebbe essere più simile al valore “Limite” che viene visualizzato nel Task Manager. Come posso ottenere il numero […]

Il modo più efficiente per aggiungere array in C #?

Sto estraendo i dati da un ActiveX vecchia scuola sotto forma di array di doppi. Inizialmente non conosco il numero finale di campioni che effettivamente recupererò. Qual è il modo più efficace per concatenare questi array insieme in C # mentre li estrapolo dal sistema?

Che succede con la memoria statica in java?

Questa domanda riguarda in particolare il linguaggio java. Comprendo che esiste una protezione statica della memoria riservata a tutti i codici statici. La mia domanda è: come viene riempita questa memoria statica? Un object statico viene inserito nella memoria statica all’importazione o al primo riferimento? Inoltre, le stesse regole di raccolta dei rifiuti si applicano […]

Come funzionano realloc e memcpy?

Ho due domande. realloc() e memcpy() copiano le voci di un array in un altro in un modo più veloce rispetto al semplice iterare su ciascun elemento O(N) ? Se la risposta è sì, quale pensi sia la sua complessità? Se la dimensione allocata è più piccola della dimensione originale, realloc() copia le voci da […]

C ++ spinge più tipi sul vettore

Nota: so che domande simili a questo sono state fatte prima su SO, ma non le ho trovate utili o molto chiare. Seconda nota: per lo scopo di questo progetto / assegnazione, sto cercando di evitare librerie di terze parti, come Boost. Sto cercando di vedere se c’è un modo in cui posso avere un […]

Come implementare didReceiveMemoryWarning?

Ho sviluppato una semplice applicazione per iPhone che funziona funzionalmente molto bene alle nostre aspettative, tranne che nelle condizioni di scarsa memoria del telefono. In condizioni di memoria insufficiente del telefono, la mia app si blocca e, se aumenti la memoria del telefono liberando spazio, riprende a funzionare senza problemi. quando ho fatto qualche ricerca […]

Come prevenire java.lang.OutOfMemoryError: PermGen space alla compilation Scala?

Ho notato uno strano comportamento del mio compilatore di scala. Di tanto in tanto lancia un OutOfMemoryError durante la compilazione di una class. Ecco il messaggio di errore: [info] Compiling 1 Scala source to /Users/gruetter/Workspaces/scala/helloscala/target/scala-2.9.0/test-classs… java.lang.OutOfMemoryError: PermGen space Error during sbt execution: java.lang.OutOfMemoryError: PermGen space Succede solo una volta ogni tanto e di solito l’errore […]

In Linux, come dire quanti processi di memoria stanno usando?

Penso che potrei avere una perdita di memoria nella mia applicazione LAMP (la memoria si esaurisce, lo swap inizia ad abituarsi, ecc.). Se potessi vedere quanta memoria stanno usando i vari processi, potrebbe aiutarmi a risolvere il mio problema. C’è un modo per me di vedere queste informazioni in * nix?