JDK x JRE x JVM em Java – Diferença entre eles
Diferença chave entre JDK, JRE e JVM
- JDK é um kit de desenvolvimento de software, enquanto JRE é um pacote de software que permite Java programa para ser executado, enquanto JVM é um ambiente para execução de bytecode.
- A forma completa do JDK é Java Development Kit, enquanto a forma completa do JRE é Java Runtime Environment, enquanto a forma completa da JVM é Java Máquina virtual.
- JDK e JRE são dependentes de plataforma, enquanto JVM é independente de plataforma no nível de bytecode, mas depende de implementações específicas de plataforma.
- JDK contém ferramentas para desenvolvimento, depuração, etc. JRE contém bibliotecas de classes e outros arquivos de suporte, enquanto ferramentas de desenvolvimento de software não estão incluídas na 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 está incluído no software JDK e JRE.
O que é JDK?
JDK é um ambiente de desenvolvimento de software usado para criar miniaplicativos e Java aplicações. A forma completa do JDK é Java Kit de desenvolvimento. Java os desenvolvedores podem usá-lo em Windows, macOS, Solarise Linux. JDK os ajuda a codificar e executar Java programas. É possível instalar mais de uma versão do JDK no mesmo computador.
O que é JRE?
JRE é um software projetado para executar outro software. Ele contém as bibliotecas de classes, a classe do carregador e a JVM. Em termos simples, se você quiser executar Java programa você precisa do JRE. Se você não é um programador, não precisa instalar JDK, mas apenas JRE para executar Java programas. Porém, todas as versões do JDK vêm com Java Runtime Environment, portanto você não precisa baixar e instalar o JRE separadamente em seu PC. A forma completa do JRE é Java Ambiente de tempo de execução.
O que é JVM?
JVM é um mecanismo que fornece um ambiente de tempo de execução para conduzir o Java Código ou aplicativos. Ele converte Java bytecode em linguagem de máquina. JVM faz parte Java Executar Ambiente (JRE). Ele não pode ser baixado e instalado separadamente. Para instalar a JVM, você precisa instalar o JRE. A forma completa da JVM é Java Máquina virtual.
Em muitas outras linguagens de programação, o compilador produz código de máquina para um sistema específico. No entanto, Java O compilador produz código para uma máquina virtual que é chamada de JVM.
Por que usar JDK?
Aqui estão os motivos importantes para usar o JDK:
- JDK contém ferramentas necessárias para escrever Java programas e JRE para executá-los.
- Inclui um compilador, Java lançador de aplicativos, Appletviewer, etc.
- O compilador converte código escrito em Java em código de bytes.
- Java o inicializador de aplicativos abre um JRE, carrega a classe necessária e executa seu método principal.
Por que usar JRE?
Aqui estão os motivos importantes para usar o JRE:
- JRE contém bibliotecas de classes, JVM e outros arquivos de suporte. Não contém nenhuma ferramenta para Java desenvolvimento como um depurador, compilador, etc.
- Ele usa classes de pacotes importantes como bibliotecas math, swingetc, util, lang, awt e runtime.
- Se você tiver que correr Java miniaplicativos, o JRE deverá estar instalado em seu sistema.
Por que JVM?
Aqui estão os motivos importantes para usar JVM:
- JVM fornece uma forma de execução independente de plataforma Java Código fonte.
- Possui inúmeras bibliotecas, ferramentas e estruturas.
- Depois de correr Java programa, você pode rodar em qualquer plataforma e economizar muito tempo.
- JVM vem com compilador JIT (Just-in-Time) que converte Java código-fonte em linguagem de máquina de baixo nível. Conseqüentemente, ele funciona mais rápido como um aplicativo normal.
Recursos do JDK
Aqui estão os recursos importantes do JDK:
- Ele permite que você lide com múltiplas extensões em um único bloco catch.
- JDK inclui todos os recursos que o JRE possui.
- Ele contém ferramentas de desenvolvimento, como compilador, depurador, etc.
- JDK fornece o ambiente para desenvolver e executar Java Código fonte.
- Pode ser instalado em Windows, sistemas operacionais Unix e Mac.
- O operador Diamond pode ser usado para especificar uma interface de tipo genérico em vez de escrever a interface exata.
Recursos do JRE
Aqui estão os recursos importantes do JRE:
- Java Runtime Environment é um conjunto de ferramentas com as quais a JVM realmente é executada.
- JRE contém tecnologia de implantação, incluindo Java Início da Web e Java Plugar.
- Os desenvolvedores podem facilmente executar o código-fonte no JRE, mas não podem escrever e compilar o Java .
- Inclui bibliotecas de integração como Java Conectividade de banco de dados (JDBC), Invocação de método remoto (RMI), Java Interface de nomenclatura e diretório (JNDI) e muito mais.
- JRE tem JVM e Java Cliente de máquina virtual HotSpot.
Recursos da JVM
Aqui estão os recursos importantes da JVM:
- Ele permite que você execute aplicativos em um ambiente de nuvem ou em seu dispositivo.
- Java A Máquina Virtual converte o código de bytes no 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.
- JVM executa o programa usando bibliotecas e arquivos fornecidos por Java Ambiente de tempo de execução.
- JDK e JRE contêm Java Máquina virtual.
- Ele pode executar o programa java linha por linha, portanto também é chamado de intérprete.
- A JVM é facilmente personalizável, por exemplo, você pode alocar memória mínima e máxima para ela.
- É independente do hardware e do sistema operacional. Assim, você pode escrever um programa Java uma vez e executá-lo em qualquer lugar.
Como funciona o JDK?
Aqui estão os componentes importantes do JDK:
- JDK e JRE: O JDK permite que os programadores criem núcleos Java programas 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 Java o programa pode chamar em tempo de execução.
- Compiladores: É um Java programa que aceita arquivos de texto de desenvolvedores e compila em Java arquivo de classe. É a forma comum de saída fornecida pelo compilador, que contém Java código de bytes. Em Java, o compilador primário é Javac.
- Depuradores: O depurador é um Java programa que permite aos desenvolvedores testar e depurar Java programas.
- Javadoc: JavaDoc é uma documentação feita pela Sun Microsystems para o Java. JavaDoc pode ser usado gerando documentação da API em arquivo HTML a partir do programa fonte
Como funciona o JRE?
JRE possui uma instância de JVM, classes de biblioteca e ferramentas de desenvolvimento. Depois de escrever e compilar Java código, o compilador gera um arquivo de classe com código de bytes.
Aqui estão os componentes importantes do JRE:
- Carregadores de classe: O carregador de classes carrega diversas classes que são necessárias para executar um Java programa. A JVM usa três carregadores de classes chamados carregador de classes bootstrap, carregador de classes de extensões e carregador de classes do sistema.
- Verificador de código de bytes: O verificador de código de bytes 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 intérprete lê o código linha por linha.
- Tempo de execução: Tempo de execução é um sistema usado principalmente em programação para descrever o período de tempo durante o qual um determinado programa está sendo executado.
- Hardware: Depois de compilar Java código nativo, ele é executado em uma plataforma de hardware específica.
Dessa maneira, o Java o programa é executado em JRE.
Como funciona a JVM?
Aqui estão os componentes importantes da JVM:
1) Carregador de classes
O carregador de classes é um subsistema usado para carregar arquivos de classe. Ele executa três funções principais, a saber. Carregamento, vinculação e inicialização.
2) Área de Método
A área de método JVM armazena estrutura de classe como metadados, o código para Java métodos e o pool de tempo de execução constante.
3) Pilha
Todos os objetos, arrays e variáveis de instância são armazenados em um heap. Essa memória é compartilhada entre vários threads.
4) Pilhas de linguagem JVM
Java As pilhas de idiomas armazenam variáveis locais e seus resultados parciais. Cada thread tem sua própria pilha de linguagem JVM, criada simultaneamente à medida que o thread é 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 de PC
Os registradores do PC armazenam o endereço do Java instrução da máquina virtual, que está atualmente em execução. Em Java, cada thread tem seu registro de PC separado.
6) Pilhas de métodos nativos
As pilhas de métodos nativos contêm as instruções do código nativo, dependendo da biblioteca nativa. Ele aloca memória em heaps nativos ou usa qualquer tipo de pilha.
7) Motor de Execução
É 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 do método nativo
A Native Method Interface é uma estrutura de programação. Ele permite Java código, que está rodando em uma JVM para chamar por bibliotecas e aplicações nativas.
9) Bibliotecas de métodos nativos
Bibliotecas Nativas é uma coleção de Bibliotecas Nativas (C, C++), que são necessários 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 é Java Kit de desenvolvimento. | A forma completa do JRE é Java Ambiente de tempo de execução. | A forma completa da JVM é Java Máquina virtual. |
JDK é um kit de desenvolvimento de software para desenvolver aplicações em Java. | É um pacote de software que fornece Java bibliotecas de classes com componentes necessários para executar Java código. | JVM executa Java código de bytes e fornece um ambiente para executá-lo. |
JDK depende da plataforma. | JRE também depende da plataforma. | A 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 Java programas que podem ser executados e executados pelo JRE e JVM. | O JRE é a parte Java que cria a JVM. | É o Java componente de plataforma que executa o código-fonte. |
JDK vem com o instalador. | JRE contém apenas ambiente para executar o código-fonte. | JVM agrupada em software JDK e JRE. |