Quando instanciamos um objeto, armazenamos ele na memória. Mas quem coloca o objeto na memória? Seria o sistema operacional ou a própria IDE?
Quando instanciamos um objeto, armazenamos ele na memória. Mas quem coloca o objeto na memória? Seria o sistema operacional ou a própria IDE?
Oi, Natan! Tudo bem?
Quando instanciamos um objeto em Java, é a Máquina Virtual Java (JVM) que aloca a memória para esse objeto. A JVM é uma ferramenta Java responsável por executar o bytecode Java, que é um código que será traduzido pela Virtual Machine para o código de cada máquina em questão, como podemos observar no modelo esquemático abaixo:
Quando criamos um objeto, por exemplo, Filme filme = new Filme()
, o operador new
solicita à JVM que aloque memória para o novo objeto Filme
. A JVM então aloca a quantidade necessária de memória no heap (uma área de memória dedicada a objetos) e retorna uma referência a essa memória, que é então armazenada na variável filme
.
A IDE (Ambiente de Desenvolvimento Integrado) que estamos usando para escrever o código Java, entretanto não é responsável pela alocação de memória, sendo apenas uma ferramenta que facilita a escrita, compilação e depuração do nosso código.
Deixo também algumas sugestões para acrescentar aos estudos:
Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!