Frage : Wie viel Gedächtnis wird für eine dotnet Anwendung zugeteilt?

Dieses ist eine Interviewfrage, die ich auf einer meines neuen interview.

Generally howmuch Gedächtnisses werde zugeteilt für jede mögliche Punktnetzanwendung gegenüberstellte? und auf welcher Basis?

Can jedermann Antwort dieses?

Antwort : Wie viel Gedächtnis wird für eine dotnet Anwendung zugeteilt?

Die Menge des Gedächtnisses zugeteilt, um Nettoanwendung zu punktieren hängt auf ab, ob die Anwendung als Prozess mit 32 oder 64 Bits läuft.

Auf einem 32-Bitsystem wird jedem Gegenstand ein Gedächtnis von Byte 8 zugeteilt. Für Bestehen des Gegenstandes muss er von irgendwo bezogen werden - der schließlich die Menge des Gedächtnisses benötigt für ein Gegenstandbestehen auf 12 Bytes erhöht.

Auf 64-bitsystemen ist die Situation schlechter. Die GegenstandSpeicherallozierung, die auf 16 Bytes erhöht werden, und 8 Bytes werden für einen Hinweis, also Notwendigkeiten jedes Gegenstandes 24 Bytes einfach tfor Bestehen angefordert.

 Wenn Reihen viel verursacht und zerstört werden, ist es möglich, dass das Muster der Kreationen und der Abfallansammlungen .NET ergeben kann, das große Löcher im Gedächtnis lässt, das die Größe der größten Reihe verringert, die es zuteilen kann. Dieses Problem kann eine Anwendung ergeben, die stufenweise aus Gedächtnis heraus läuft, obwohl es keine Gedächtnislecks hat und seine Gedächtnisanforderungen nicht anders sich im Laufe der Zeit erhöhen.

Alle Gegenstände, die durch das CLR verursacht werden, sind abhängig von diesen versteckten Gedächtniskosten, die eine Anwendung using viele Mal mehr Gedächtnis als erwartet ergeben kann. Die Zahl den Gegenständen zu verringern, die zu irgendeiner Zeit im Gedächtnis gehalten werden, möglicherweise, indem sie die Zahl Feldern in den einzelnen Gegenständen oder indem die Speicherung von Massendaten in den großen Datenstrukturen, eine effektive Art ist, die Kapazität und die Leistungsfähigkeit der .NET Anwendungen zu erhöhen erhöht.      

Verzicht: Die Informationen, die hier von bereitgestellt werden, basieren auf dem Messwert, den ich auf Internet getan habe.
Weitere Lösungen  
 
programming4us programming4us