? O Java Virtual Machine, ou JVM , é a plataforma para programas Java . A JVM é executado como um programa em um computador para servir como um ambiente "virtual" através do qual os programas Java executar. Para fazer isso , ele precisa de sua própria memória e estruturas de dados. Uma dessas estruturas de dados , a pilha , é essencial para a execução do programa Java. A pilha , no entanto , não constitui toda a memória na JVM , mas apenas uma grande parte dela. Processos e Memória
A JVM , como qualquer outro programa , segue o ciclo de execução de um programa em um computador. Primeiro, o computador carrega informações do arquivo JVM fora do disco rígido para a memória principal , ou memória RAM. Em seguida, a JVM se torna um processo em execução. Processos em memória principal têm o seu próprio espaço de endereçamento , o que significa que a JVM pode resolver uma quantidade específica de memória. Enquanto o programa pode solicitar mais memória, a memória na JVM é limitada pela memória física que tem acesso no sistema principal.
O Java Virtual Machine e Memória
Dentro do JVM , a memória está representada uma forma diferente . A memória interna do JVM está disponível para programas em Java e imita as estruturas de memória dentro do computador . A memória JVM interna contém todos os dados do programa , o mais importante do objeto e de memória dinâmica de alocação realizada pelo programa. Este grande parte da alocação de memória JVM é chamada de " pilha ".
O Java Heap
As lojas da pilha Java alocada dinamicamente informações sobre o objeto de o programa . Quando os objetos ou outras variáveis são criadas dinamicamente durante a execução do programa em linguagens de programação orientada a objetos , o espaço para armazenar esses objetos vem de " pilha. " A pilha serve como um pool de espaço a partir do qual o programa pode chamar de memória para o uso no programa . Na JVM , a pilha fornece memória sempre que o programa declara um objeto.
Diferenças entre Java Heap e Memória
A pilha é apenas uma parte do pool de memória JVM , no entanto . Enquanto as lojas de montão os objetos declarados pelo programa, outras partes da memória armazenar dados importantes para o programa também. Estas partes da memória pode armazenar variáveis constantes declaradas pelo programa ou a pilha de execução que armazena referências ao código e método declarado durante a execução do programa. A memória JVM como um todo contém todas as informações necessárias para executar o programa, bem como dados de execução constantes. A pilha , como parte dessa memória, lojas alocadas as variáveis declaradas pelo próprio programa .