JDK vs JRE vs JVM: Principais diferenças

O que é JDK?

JDK é um ambiente de desenvolvimento de software usado para fazer miniaplicativos e aplicativos Java. A forma completa do JDK é o Java Development Kit. Os desenvolvedores Java podem usá-lo no Windows, macOS, Solaris e Linux. O JDK os ajuda a codificar e executar programas Java. É possível instalar mais de uma versão de JDK no mesmo computador.

Neste tutorial, você aprenderá:

  • O que é JDK?
  • O que é JRE?
  • O que é JVM?
  • Por que usar JDK?
  • Por que usar JRE?
  • Por que JVM?
  • Recursos do JDK
  • Recursos do JRE
  • Recursos do JVM
  • Como o JDK funciona?
  • Como funciona o JRE?
  • Como funciona a JVM?
  • Diferença entre JDK, JRE e JVM

O que é JRE?

JRE é uma parte de um software que é projetado para executar outro software . Ele contém as bibliotecas de classe, classe do carregador e JVM. Em termos simples, se você deseja executar um programa Java, você precisa do JRE. Se você não é um programador, não precisa instalar o JDK, apenas o JRE para executar programas Java. Porém, todas as versões do JDK vêm com o Java Runtime Environment, então você não precisa baixar e instalar o JRE separadamente em seu PC. A forma completa de JRE é Java Runtime Environment.

O que é JVM?

JVM é um mecanismo que fornece um ambiente de tempo de execução para conduzir o código ou aplicativos Java. Ele converte bytecode Java em linguagem de máquina. JVM é uma parte do Java Run Environment (JRE). Não pode ser baixado e instalado separadamente. Para instalar o JVM, você precisa instalar o JRE. forma completa de JVM é Java Virtual Machine.

Em muitas outras linguagens de programação, o compilador produz código de máquina para um sistema específico. No entanto, o compilador Java produz código para uma máquina virtual que é chamada de JVM.

DIFERENÇAS PRINCIPAIS

  • JDK é um kit de desenvolvimento de software, enquanto JRE é um pacote de software que permite que o programa Java seja executado, enquanto JVM é um ambiente para executar bytecode.
  • A forma completa de JDK é Java Development Kit, enquanto a forma completa de JRE é Java Runtime Environment, enquanto a forma completa de JVM é Java Virtual Machine.
  • JDK é dependente da plataforma, JRE também é dependente da plataforma, mas JVM é independente da plataforma.
  • JDK contém ferramentas para desenvolvimento, depuração, etc. JRE contém bibliotecas de classes e outros arquivos de suporte, enquanto software as ferramentas de desenvolvimento não estão incluídas no JVM.
  • O JDK vem com o instalador, por outro lado, o JRE contém apenas o ambiente para executar o código-fonte, enquanto o JVM é fornecido com o software JDK e JRE.

Por que usar JDK?

Aqui estão as razões importantes para usar JDK:

  • JDK contém ferramentas necessárias para escrever programas Java e JRE para executá-los.
  • Inclui um compilador, iniciador de aplicativo Java, Appletviewer, etc.
  • O compilador converte o código escrito em Java em código de bytes.
  • o iniciador de aplicativo Java abre um JRE, carrega a classe necessária e executa seu método principal.

Por que usar JRE?

Aqui estão os razões importantes para usar o JRE:

  • JRE contém bibliotecas de classes, JVM e outros arquivos de suporte. Ele não contém nenhuma ferramenta para desenvolvimento Java como um depurador, compilador, etc.
  • Ele usa classes de pacote importantes, como matemática, swingetc, util, lang, awt e bibliotecas de tempo de execução.
  • Se você tiver que executar miniaplicativos Java, o JRE deve ser instalado em seu sistema.

Por que JVM?

Aqui estão as razões importantes para usar JVM:

  • JVM fornece uma maneira independente de plataforma de executar Java código-fonte.
  • Possui várias bibliotecas, ferramentas e estruturas.
  • Depois de executar o programa Java, você pode executá-lo em qualquer plataforma e economizar muito tempo.
  • JVM vem com compilador JIT (Just-in-Time) que converte o código-fonte Java em linguagem de máquina de baixo nível. Portanto, ele é executado mais rapidamente como um aplicativo normal.

Recursos do JDK

Aqui estão os recursos importantes do JDK:

  • Ele permite que você lide com várias extensões em um único bloco catch.
  • O JDK inclui todos os recursos do JRE.
  • Ele contém ferramentas de desenvolvimento, como compilador, depurador, etc.
  • JDK fornece o ambiente para desenvolver e executar código-fonte Java.
  • Ele pode ser instalado nos sistemas operacionais Windows, Unix e Mac.
  • O operador Diamond pode ser usado para especificar uma interface de tipo genérico em vez de escrever o exato.

Recursos do JRE

Aqui estão os recursos importantes do JRE:

  • Java Runtime Environment é um conjunto de ferramentas que o JVM realmente executa.
  • JRE contém tecnologia de implantação, incluindo Java Web Start e Java Plug-in.
  • Os desenvolvedores podem facilmente executar o código-fonte em JRE, mas não podem escrever e compilar o programa Java.
  • Inclui bibliotecas de integração como Java Database Connectivity (JDBC), método remoto Invocation (RMI), Java Naming and Directory Interface (JNDI) e mais.
  • JRE tem cliente de máquina virtual JVM e Java HotSpot.

Recursos do JVM

Aqui estão os recursos importantes do JVM:

  • Ele permite que você execute aplicativos em um ambiente de nuvem ou no seu dispositivo.
  • Java Virtual Machine converte o código de bytes em código específico da máquina.
  • Ele fornece funções básicas de java como gerenciamento de memória, segurança, coleta de lixo e muito mais.
  • A JVM executa o programa usando bibliotecas e arquivos fornecidos pelo Java Runtime Environment.
  • JDK e JRE contêm Java Virtual Machine.
  • Ele pode executar o programa java linha por linha, portanto, também é chamado de interpretador.
  • JVM é facilmente personalizável, por exemplo, você pode alocar memória mínima e máxima para ele.
  • É independente do hardware e do sistema operacional. Portanto, você pode escrever um programa java uma vez e executá-lo em qualquer lugar.

Como o JDK funciona?

Funcionalidade JDK

Aqui estão os componentes importantes do JDK:

  • JDK e JRE: O JDK permite que os programadores criem programas Java principais que podem ser executados pelo JRE, que incluía JVM e bibliotecas de classes.
  • Bibliotecas de classes: é um grupo de bibliotecas carregáveis dinamicamente que o programa Java pode chamar em tempo de execução.
  • Compiladores: é um programa Java que aceita arquivo de texto de desenvolvedores e compila em Arquivo de classe Java. É a forma comum de saída fornecida pelo compilador, que contém o código de bytes Java. Em Java, o compilador principal é Javac.
  • Depuradores: o depurador é um programa Java que permite aos desenvolvedores testar e depurar programas Java.
  • JavaDoc: JavaDoc é a documentação feita pela Sun Microsystems para Java. JavaDoc pode ser usado para gerar documentação de API em arquivo HTML a partir do programa de origem

Como o JRE funciona?

Funcionalidade JRE

JRE tem uma instância de JVM com ele, classes de biblioteca e ferramentas de desenvolvimento. Depois de escrever e compilar o código Java, o compilador gera um arquivo de classe com código de bytes.

Aqui estão os componentes importantes do JRE:

  • Carregadores de classes: O carregador de classes carrega várias classes que são necessárias para executar um programa Java. JVM usa três carregadores de classes chamados de carregador de classes de bootstrap, carregador de classes de extensões e carregador de classes do sistema.
  • Verificador de código de byte: o verificador de código de byte verifica o bytecode para que o código não perturbe o interpretador.
  • Intérprete: Depois que as classes são carregadas e o código é verificado, o interpretador lê o código linha por linha.
  • Tempo de execução: o tempo de execução é um sistema usado principalmente na programação para descreva o período de tempo durante o qual um determinado programa está sendo executado.
  • Hardware: Depois de compilar o código nativo Java, ele é executado em uma plataforma de hardware específica.

Desta forma, o programa Java é executado em JRE.

Como a JVM funciona?

Funcionalidade JVM

Aqui estão os componentes importantes da JVM:

1) Carregador de classes

O carregador de classes é um subsistema usado para carregando arquivos de classe. Ele executa três funções principais viz. Carregando, vinculando e inicializando.

2) Área do método

A área do método JVM armazena a estrutura da classe como metadados, o código para métodos Java e o pool de tempo de execução constante.

3) Heap

Todos os objetos, arrays e variáveis de instância são armazenados em um heap. Esta memória é compartilhada por vários threads.

4) Pilhas de linguagem JVM

As pilhas de linguagem Java armazenam variáveis locais e seus resultados parciais. Cada encadeamento tem sua própria pilha de linguagem JVM, criada simultaneamente à medida que o encadeamento é criado. Um novo quadro é criado quando o método é invocado e removido quando o processo de invocação do método é concluído.

5) Registros do PC

Os registros do PC armazenam o endereço da instrução da máquina virtual Java, que está em execução no momento. Em Java, cada thread tem seu registro de PC separado.

6) Pilhas de métodos nativos

As pilhas de métodos nativos mantêm a instrução do código nativo que depende da biblioteca nativa. Ele aloca memória em heaps nativos ou usa qualquer tipo de pilha.

7) Execution Engine

É um tipo de software usado para testar software, hardware ou sistemas completos. O mecanismo de execução de teste nunca carrega nenhuma informação sobre o produto testado.

8) Interface de método nativo

A interface de método nativo é uma estrutura de programação. Ele permite que o código Java, que está sendo executado em uma JVM, seja chamado por bibliotecas e aplicativos nativos.

9) Bibliotecas de método nativo

Bibliotecas nativas são uma coleção de bibliotecas nativas (C, C ++), que são necessárias para o mecanismo de execução.

Diferença entre JDK, JRE e JVM

Aqui estão as principais diferenças entre JDK vs. JRE vs. JVM:

JDK JRE JVM
A forma completa do JDK é o Kit de Desenvolvimento Java. A forma completa do JRE é Java Runtime Environment. A forma completa de JVM é Java Virtual Machine.
JDK é um kit de desenvolvimento de software para desenvolver aplicativos em Java. É um pacote de software que fornece bibliotecas de classes Java com os componentes necessários para executar o código Java. JVM executa código de bytes Java e fornece um ambiente para executá-lo.
JDK depende da plataforma. JRE também depende da plataforma. JVM é independente de plataforma.
Ele contém ferramentas para desenvolver, depurar e monitorar código java. Ele contém bibliotecas de classes e outros arquivos de suporte que a JVM requer para executar o programa. As ferramentas de desenvolvimento de software não estão incluídas na JVM.
É o superconjunto do JRE É o subconjunto do JDK. JVM é um subconjunto do JRE.
O JDK permite que os desenvolvedores criem programas Java que podem ser executados e executados pelo JRE e JVM. O JRE é a parte do Java que cria o JVM. É o componente da plataforma Java que executa o código-fonte.
JDK vem com o instalador. JRE contém apenas ambiente para executar o código-fonte. JVM incluída no software JDK e JRE.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *