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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!