Diferença Entre JVM e JRE

Anonim

JVM vs JRE

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

O que é JVM?

JVM é um tipo de máquina virtual que é usada por máquinas para executar bytecode Java. De acordo com a Sun Microsystems (que desenvolveu Java até que foi 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 padrão e sistema operacional. Uma das funcionalidades importantes fornecidas pela JVM é o tratamento automatizado de exceções. Normalmente, uma coleção de bibliotecas padrão acompanha a JVM. Na verdade, o JRE é um pacote contendo 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 pode ser executado em cima dele, independentemente da plataforma utilizada na máquina. É por isso que o Java é chamado de linguagem multi-plataforma ou multi-plataforma.

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 ea 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 conversará com os componentes de hardware correspondentes. Ter JRE instalado no seu sistema é uma obrigação para executar qualquer código java em sua máquina. No entanto, 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ê precisa desenvolver programas em Java, você precisa ter o JDK (Java Development Kit), que também inclui o JRE.

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. A JVM é uma máquina virtual que é executada em cima do sistema operacional, enquanto JRE é o ambiente de execução em tempo de execução. JVM é uma 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 de implementação para o programador. E é responsável por interpretar o bytecode compilado. No entanto, a JVM precisa das bibliotecas de base e outros arquivos de suporte para executar o bytecode java. Mas às vezes, o JRE é simplesmente identificado como uma implementação da JVM.