Quando as pessoas falam sobre o Java, que muitas vezes mencionam a Java Virtual Machine ( JVM) . Para alguém novo para Java , isso pode ser confuso. A natureza da JVM e do papel que desempenha na execução de programas Java é a chave para muitas das características e benefícios da linguagem . Máquina Virtual
A máquina virtual Java é uma simulação de uma máquina real software. Quando você executa um programa Java, o computador é iniciado a máquina virtual Java ea máquina virtual executa o programa. Instruções do programa são traduzidos pela máquina virtual em instruções para o sistema que está sendo executado. Existem diferentes versões da máquina virtual Java para cada plataforma - PC , Mac ou Linux - . Mas o mesmo programa Java será executado em qualquer um deles
Virtual Hardware
a máquina virtual é construída a partir de quatro partes virtuais : os registradores, a pilha , área do método e do heap . Os registros de acompanhar o estado da pilha eo lugar que atual no programa. A pilha contém variáveis e endereços utilizados em operações como o programa é executado . A área de método tem o bytecode real do programa a ser executado. A pilha é onde está alocado memória necessária para o programa, e depois retornado pelo processo de coleta de lixo.
Coleta de Lixo
Uma das características do máquina virtual Java é built-in de coleta de lixo . Em muitas linguagens de programação , o programador tem de controlar manualmente a memória do aplicativo leva e retorna. Em Java , a máquina virtual faz essa tarefa por si só. Sempre que um programa Java é concluído com uma seção de memória , a máquina virtual informa ao computador a memória está livre. Isso impede que um monte de erros , e realmente alivia uma grande dor de cabeça para os programadores .
Access Memory
Outra característica da máquina virtual Java é estruturada de acesso à memória . Simplificando, os locais exatos de todas as variáveis e estruturas de dados na memória nunca é conhecido e é mantido o controle de apenas pela máquina virtual. Os programadores não podem obter a memória que não devem. Este é um benefício enorme para a segurança , evitando não só problemas acidentais , mas também táticas de hackers complicadas. Ela é construída no projeto da máquina virtual, até ao nível de bytecode .
Sandbox
O uso de uma máquina virtual dá vantagens para programas Java . Além de compatibilidade entre plataformas , programas Java também são mais seguros. A máquina virtual é um "sandbox ", ou seja, um programa não pode acessar processos ou memória fora da máquina virtual. Se um programa trava acidentalmente , ele irá travar a máquina virtual e deixar o sistema intacto. A caixa de areia também tem proteção inerente contra vírus ou hackers , impedindo-os de ter acesso ao resto do computador.