Diferença entre JVM e JRE

JVM vs JRE

Java é uma linguagem de programação multiplataforma. Também adere ao princípio "escreva uma vez, execute em qualquer lugar". O programa escrito em Java pode ser compilado no bytecode Java pelo compilador Java. Em seguida, o bytecode pode ser executado em qualquer plataforma executando o JRE (Java Runtime Environment). O JRE inclui a JVM (Java Virtual Machine), bibliotecas base (que implementam a API Java) e outros arquivos de suporte. A JVM é uma máquina de computação abstrata que atua como mediadora entre o JRE específico da plataforma e o código Java.

O que é JVM?

A JVM é um tipo de máquina virtual usada por máquinas para executar o bytecode Java. De acordo com a Sun Microsystems (que desenvolveu o Java até sua compra pela Oracle, muito recentemente), existem mais de 4 bilhões de dispositivos habilitados para JVM no mundo. Mais especificamente, o Java Virtual Machine é uma máquina de computação abstrata implementada em hardware e sistema operacional padrão. Uma das importantes funcionalidades fornecidas pela JVM é o tratamento automatizado de exceções. Normalmente, uma coleção de bibliotecas padrão acompanha a JVM. De fato, o JRE é um pacote que contém a JVM e as classes que implementam a API Java. A JVM é um componente muito importante, que acomoda a natureza "compilar uma vez, executar em qualquer lugar" da linguagem de programação Java. Enquanto a JVM estiver em execução, seu código Java poderá ser executado em cima dela, independentemente da plataforma usada na máquina. É por isso que Java é chamado de linguagem multiplataforma ou multiplataforma.

O que é o JRE?

JRE é o ambiente de execução no qual o código Java é executado. Normalmente, o JRE é composto da JVM, classes base padrão (que implementam a API Java base) e outros arquivos de suporte. O tipo e a estrutura do JRE variam de acordo com o sistema operacional e a arquitetura da CPU. Quando o código Java é executado, o JRE se comunica com o sistema operacional, que por sua vez conversa com os componentes de hardware correspondentes. Ter o JRE instalado em seu sistema é essencial para executar qualquer código java em sua máquina. No entanto, o JRE não inclui um compilador, depurador ou qualquer outra ferramenta necessária para o desenvolvimento de programas Java (como appletviewer e javac). Se você precisar desenvolver programas em Java, precisará do JDK (Java Development Kit), que também inclui o JRE.

Qual é a diferença entre e JVM e JRE?

Embora, no uso diário, os termos JVM e JRE estejam sendo usados ​​de forma intercambiável, eles têm suas diferenças. A JVM é uma máquina virtual executada sobre o sistema operacional, enquanto o JRE é o ambiente de execução do tempo de execução. A JVM faz parte do JRE. A especificação da JVM atua como o link entre a implementação JRE específica da plataforma e as bibliotecas Java padrão. Portanto, a JVM é a entidade que fornece a abstração dos detalhes da implementação interna ao programador. E é responsável pela interpretação do código de código compilado. No entanto, a JVM precisa das bibliotecas base e de outros arquivos de suporte para executar o bytecode java. Mas, às vezes, o JRE é simplesmente identificado como uma implementação da JVM.