Diferença entre JVM e JRE

Diferença entre JVM e JRE
Diferença entre JVM e JRE

Vídeo: Diferença entre JVM e JRE

Vídeo: Diferença entre JVM e JRE
Vídeo: SSH - Usando scp para transferência de arquivos entre hosts Linux 2024, Novembro
Anonim

JVM vs JRE

Java é uma linguagem de programação multiplataforma. Ele também adere ao princípio “escreva uma vez, execute em qualquer lugar”. O programa escrito em Java pode ser compilado em bytecode Java pelo compilador Java. Então, o bytecode pode ser executado em qualquer plataforma rodando o JRE (Java Runtime Environment). JRE inclui a JVM (Java Virtual Machine), bibliotecas base (que implementam a API Java) e outros arquivos de suporte. 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?

JVM é um tipo de máquina virtual que é usada por máquinas para executar bytecode Java. Segundo a Sun Microsystems (que desenvolveu Java até ser comprada pela Oracle, muito recentemente), existem mais de 4 bilhões de dispositivos habilitados para JVM no mundo. Mais especificamente, Java Virtual Machine é uma máquina de computação abstrata implementada em hardware e sistema operacional padrão. Uma das funcionalidades importantes fornecidas pela JVM é a manipulação automatizada de exceções. Normalmente, uma coleção de bibliotecas padrão acompanha a JVM. Na verdade, JRE é um pacote configurável que contém a JVM e as classes que implementam a API Java. A JVM é um componente muito importante, que acomoda a natureza “compile uma vez, execute em qualquer lugar” da linguagem de programação Java. Enquanto a JVM estiver em execução, seu código Java pode ser executado em cima dela, independentemente da plataforma usada na máquina. É por isso que Java é chamada de linguagem multiplataforma ou multiplataforma.

O que é JRE?

JRE é o ambiente de execução no qual o código Java é executado. Normalmente, o JRE é composto pela JVM, classes base padrão (que implementam a API Java base) e outros arquivos de suporte. O tipo e a estrutura do JRE variam dependendo do sistema operacional e da arquitetura da CPU. Quando o código Java é executado, o JRE se comunicará com o sistema operacional, que por sua vez se comunicará 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 quaisquer outras ferramentas necessárias para o desenvolvimento de programas Java (como appletviewer e javac). Se você precisa desenvolver programas em Java, você precisa ter o JDK (Java Development Kit), que inclui o JRE também.

Qual é a diferença entre JVM e JRE?

Embora, no uso diário, os termos JVM e JRE sejam usados de forma intercambiável, eles têm suas diferenças. JVM é uma máquina virtual que roda sobre o sistema operacional, enquanto JRE é o ambiente de execução de tempo de execução. A JVM faz parte do JRE. A especificação 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 internos da implementação para o programador. E é responsável por interpretar o bytecode compilado. No entanto, a JVM precisa das bibliotecas base e outros arquivos de suporte para executar o bytecode java. Mas às vezes, JRE é simplesmente identificado como uma implementação de JVM.

Recomendado: