Pergunta

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();
    }
}

No código acima, qual objeto e referência é criado no qual parte da memória? (Quero dizer, Heap e Stack)

text alt
(fonte: c-sharpcorner.com )

Foi útil?

Solução

Uma vez que você marcou a sua pergunta Java, eu vou assumir que você quis dizer em Java. Diretamente da boca do cavalo:

A máquina virtual Java tem um monte que é compartilhado entre todos Java tópicos máquina virtual. A pilha é a área de dados de tempo de execução a partir do qual memória para todas as instâncias de classe e matrizes é alocado.

JVM Spec

Aqui é um ligação a uma pergunta SO anterior que vai para isso em detalhes séria (e é uma discussão de linguagem agnóstico sobre o tema).

Aqui está um ligação para um artigo de C # canto detalhando a questão em C #.

Outras dicas

Ordem e Cliente estão na pilha. Embora o Cliente pode ser uma estrutura, que é um membro do composto de um tipo de referência (por exemplo, uma classe).

Todas as cordas são tipos de referência e são criados na pilha.

Eu não tenho certeza sobre a classe do navio, porque eu não tenho a sua declaração (ou seja, eu não sei se é uma estrutura ou uma classe).

A variável iTotal int é criada na pilha.

Isto é verdade para C #. Java podem ter regras diferentes no jogo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top