Diferença entre JVM e JRE

JVM vs JRE

Java é uma linguagem de programação de alto nível, única na maneira como os programas escritos nela podem ser executados em praticamente qualquer plataforma. Porém, antes de executar o programa em um computador, você precisa instalar determinados softwares; algumas pessoas se referem a ele como JVM, enquanto outras usam o JRE. Embora a maioria das pessoas esteja se referindo à mesma coisa, há certas diferenças entre JVM e JRE. A JVM é realmente um aplicativo que faz parte do JRE. Para executar um aplicativo, você precisa de um JRE, que contém a JVM.

JVM significa Java Virtual Machine e cria um computador virtual que entende o código com o qual os programas Java são gravados. Os programas Java não são gravados de maneira específica do SO. Isso fornece a capacidade de executar em qualquer plataforma, mas requer o uso de uma JVM para converter basicamente os comandos do bytecode Java no código de máquina específico.

Nem tudo o que é necessário para todos os programas está contido na JVM. Alguns estão localizados nas chamadas classes de pacotes. Pacotes como AWT, Swing, lang e muitos outros fornecem recursos mais complexos à JVM. Quando você combina todos esses arquivos de suporte com a JVM, isso é chamado de JRE ou Java Runtime Environment. Nos termos mais simples, o JRE é uma combinação da JVM e muitos arquivos de suporte, como pacotes que fornecem o ambiente a partir do qual um programa Java pode ser executado.

Como é improvável que um usuário final edite ou crie aplicativos Java, o JRE não contém nenhum arquivo relacionado à codificação, verificação e depuração de aplicativos Java; tudo o que está localizado em outro pacote de software Java. Isso minimiza o tamanho do JRE para tornar mais fácil e rápido para a maioria dos usuários fazer o download e instalar o JRE. Cada plataforma de software (ou seja, Windows, Linux, Mac) possui seu próprio JRE e JVM, que só funcionariam nela e em nenhuma outra. Portanto, lembre-se de baixar um JRE específico para o sistema operacional que você possui. Cada versão do JRE sempre conteria sua JVM complementar, portanto, não há dúvida sobre obter a JVM errada.

Resumo:

1.JVM é apenas uma parte do JRE
2.JRE contém classes de pacotes Java além da JVM