Frage

public class Order
{
    static Customer cust = new Customer();
    string sEmpty = "";

    public static void main(String args[])
    {
        int iTotal = 10;
        string sProductName = "Salt";
        Ship shp = new Ship();
    }
}

Bei dem obigen Code, welches Objekt und es wird in dem, welchen Teil des Speichers erstellt? (Ich meine Heap und Stack)


(Quelle: c-sharpcorner.com )

War es hilfreich?

Lösung

Da Sie Ihre Frage Java getaggt, werde ich annehmen, dass Sie in Java gemeint. Direkt aus dem Maul des Pferdes:

  

Die virtuelle Java-Maschine verfügt über einen Haufen, die unter allen Java geteilt wird   Threads virtuelle Maschinen. Der Haufen ist   der Laufzeitdatenbereich, aus der   Speicher für alle Klasseninstanzen und   Arrays zugeordnet ist.

JVM Spec

Hier ist ein Link zu einer vorherigen Frage SO das geht in diese schweren Detail (und ist sprachunabhängig Diskussion über das Thema).

Hier ist ein verlinken einen Artikel von C # Ecke Detaillierung das Problem in C #.

Andere Tipps

Auftrag und Kunden sind auf dem Heap. Obwohl ein Kunde struct sein kann, ist es ein zusammengesetztes Element eines Referenztypen (beispielsweise eine Klasse).

Alle Saiten sind Referenztypen und sind auf dem Heap erstellt.

Ich bin über die Schiffsklasse nicht sicher, weil ich nicht habe seine Erklärung (das heißt, ich weiß nicht, ob es sich um eine Struktur oder eine Klasse).

Die int Itotal Variable auf dem Stapel erstellt.

Dies gilt für C #. Java kann im Spiel verschiedene Regeln haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top