Que objeto é criado em que parte da memória?
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)
(fonte: c-sharpcorner.com )
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.
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.