java components java platform
Este tutorial fornece uma descrição detalhada de Java como uma plataforma e seus componentes, ou seja, JRE, JDK, Java Virtual Machine e a diferença entre JRE e JDK:
Java foi descrito como uma linguagem de programação, bem como a plataforma. Em nosso tutorial introdutório, já discutimos que uma plataforma é um ambiente de software com o qual podemos executar programas ou aplicativos.
Neste tutorial, discutiremos o Java, como plataforma. Também discutiremos os componentes da plataforma Java e veremos como eles funcionam.
=> Leia a série de treinamento Easy Java.
melhor remoção gratuita de vírus e malware

O que você aprenderá:
Plataforma Java
A plataforma Java é um software ou coleção de programas que nos ajudam a executar aplicativos escritos na linguagem de programação Java. Uma plataforma Java consiste em um compilador Java, um conjunto de bibliotecas e um mecanismo de execução.
A plataforma Java é independente de qualquer sistema operacional específico, o que torna a linguagem de programação Java uma linguagem independente de plataforma.
A plataforma Java consiste nos seguintes componentes.
- Linguagem Java
- O Java Development Kit (JDK)
- O Java Runtime Environment (JRE)
- O compilador Java
- A Java Virtual Machine (JVM)
Além dos componentes principais acima, a plataforma Java também contém coletores de lixo, um conjunto de bibliotecas e outros componentes e ferramentas adicionais que são necessários para executar com eficiência os aplicativos Java.
Vamos considerar o diagrama a seguir, que descreve a relação entre todos esses componentes.

Então, a partir do diagrama acima, podemos concluir que,
JRE = JVM + classes de biblioteca.
JDK = JRE + Ferramentas de desenvolvedor.
Antes de abordarmos cada um dos componentes, vamos primeiro entender o fluxo de execução do programa Java.
O diagrama a seguir mostra o fluxo de um programa Java.
.jar file opener windows 10

Portanto, o diagrama acima mostra um fluxo de execução simples para um programa Java. Um programa escrito em linguagem Java é compilado pelo compilador Java (javac). Ao contrário de outros compiladores de linguagem que geram código de máquina após a compilação, o compilador Javac gera um arquivo de classe que consiste em código de bytes.
Agora, esse arquivo de classe é fornecido para Java Virtual Machine (JVM) que converte o arquivo de classe em um arquivo de objeto contendo código dependente da máquina. Então este código é executado pela máquina.
Vamos discutir cada um desses componentes em detalhes.
Linguagem Java
Java é uma linguagem de programação usada pela plataforma Java. Java é uma linguagem de programação orientada a objetos cuja sintaxe é derivada de C e os recursos OOPS são derivados de C ++. Ele tem sua sintaxe, regras, formato e paradigma de programação.
Nesta série, aprenderemos todos os principais conceitos em Java e programação em detalhes.
O compilador Java
Este é um compilador para a linguagem de programação Java e sua função é gerar arquivos de classe Java a partir do código-fonte Java. O arquivo de classe Java contém um código de byte Java independente da plataforma.
Depois de gerar os arquivos de classe, a JVM carrega esses arquivos de classe e interpreta o código de byte ou o compila em código de máquina usando o compilador Just-in-time (JIT).
A Java Virtual Machine (JVM)
JVM é o centro da linguagem de programação Java e da plataforma Java. A JVM converte o código de byte em código específico da máquina (também conhecido como código-objeto em outras linguagens do programador).
A JVM fornece a funcionalidade de coleta de lixo, gerenciamento de memória, segurança, etc. A JVM é independente de plataforma e podemos personalizar sua funcionalidade usando uma interface virtual que ela fornece, que não é dependente da máquina e também é independente do sistema operacional.
Essa independência de plataforma da JVM nos permite criar programas Java em uma máquina e executá-los em outra (WORA - Write - Once - Run - Anywhere).
O diagrama a seguir ilustra as várias partes de uma JVM.

A JVM está presente na RAM. Quando o programa Java é convertido em um arquivo de classe pelo compilador Java, ele precisa ser executado.
Para execução, o arquivo de classe é trazido para a Ram pelo carregador de classes. Aqui, o código BYTE é verificado para quaisquer problemas de segurança. Classloader também é responsável por carregar, vincular e inicializar o programa a ser executado.
A memória JVM mostrada no diagrama acima contém vários componentes conforme mostrado e eles ajudam na execução do programa, mantendo os registros do PC que contêm a instrução atual a ser executada, Heap que contém variáveis, arrays, etc.
A memória JVM também contém área de método e pilha de método nativo que contém código de método e especificação de idioma nativo, respectivamente. A pilha JVM contém a instância do programa ou o encadeamento atual. Se houver mais de um encadeamento, cada encadeamento terá sua pilha JVM.
Assim que o programa estiver devidamente vinculado, ele será encaminhado para o mecanismo de execução. O mecanismo de execução coopera com a interface de método nativo e as bibliotecas de método nativas. A interface de método nativo é uma estrutura de programação que permite que o código Java chame bibliotecas e aplicativos nativos que fazem parte das bibliotecas de método nativo.
Em seguida, o mecanismo de execução converte o Bytecode em código de máquina nativo usando o compilador just-in-time (JIT). Em seguida, o programa é executado pela máquina.
Observação: JIT ou o compilador Just-in-time é uma parte da Java Virtual Machine (JVM). Ele interpreta uma parte do Código de Byte que possui funcionalidade semelhante ao mesmo tempo. Em outras palavras, ele converte o código de byte em código de máquina nativo no mesmo nível de programação. Esta é a razão pela qual Java é compilado, bem como uma linguagem interpretada.
O Java Runtime Environment (JRE)
JRE, como o nome sugere, é o ambiente de tempo de execução necessário para executar programas e aplicativos Java. JRE consiste em Java Virtual Machine (JVM) e binários e outras classes para executar programas Java com sucesso.
JRE é um subconjunto do JDK e não contém nenhuma ferramenta de desenvolvimento, como compilador Java, depurador, etc. Portanto, se seus aplicativos Java forem desenvolvidos em outro lugar e você precisar apenas executá-los em sua máquina, poderá instalar o JRE separadamente. Você precisa instalar o JDK para isso.
Você precisa de um JRE instalado em sua máquina, pois é o requisito mínimo para executar programas Java em sua máquina.
O JRE inclui os seguintes componentes.
- Bibliotecas de código, configurações de propriedade e arquivos de recursos : Incluem arquivos como charsets.jar, rt.jar, etc.
- Arquivos DLL : Usado pela máquina virtual cliente de ponto de acesso Java e máquina virtual servidor.
- Arquivos de extensão Java : Por exemplo, arquivos relacionados à especificação de local, como localedata.jar
- arquivos necessário para o gerenciamento de segurança. Por exemplo, java.policy, java.security
- Classes de suporte a miniaplicativos.
- Arquivos de fonte True Type : Normalmente exigido pela plataforma.
Para executar qualquer aplicativo / programa escrito em Java, você precisa do JRE instalado em seu sistema. O JRE depende da plataforma. Isso significa que você precisa baixar e instalar o JRE que seja compatível com o seu SO e arquitetura.
O Java Development Kit (JDK)
Este é o componente principal de qualquer ambiente Java. O JDK contém JRE (Java Runtime Environment) junto com o compilador Java, o depurador Java e outras classes principais. JDK é usado para desenvolvimento Java, pois fornece todo o executável e binários, bem como ferramentas necessárias para compilar e depurar um programa Java.
JDK é um software específico de plataforma e, portanto, teremos instaladores JDK separados para cada sistema operacional.
O JDK contém os seguintes componentes:
- jConsole : Este é um console de monitoramento e gerenciamento Java.
- jarra : Este é o arquivador. Esta ferramenta é usada para empacotar bibliotecas de classes relacionadas em um único arquivo Jar, bem como para gerenciar arquivos Jar.
- jarSigner : Esta ferramenta é usada para assinatura e verificação de jar.
- javap: Esta é uma ferramenta para desmontador de arquivo de classe.
- javaws : Iniciador Java web start para aplicativos JNLP.
- jhat : Ferramenta de análise de heap Java.
- jrunscript : Shell de script de linha de comando Java.
- jstack : Utilitário usado para imprimir rastreamentos de pilha para threads Java.
- Javadoc : Isso gera documentação automaticamente a partir dos comentários do código-fonte.
- appletviewer : Usado para execução de miniaplicativos e depuração sem um navegador da web.
- apto : Ferramenta de processamento de anotações.
- extCheck : Utilitário usado para verificar conflitos de arquivo jar.
- ferramenta-chave : Usando este utilitário, você pode manipular o Keystore.
- ferramenta de política : Esta é uma ferramenta de criação e gerenciamento de políticas.
- xjc : Esta é uma parte da API de ligação XML (JAXB) que aceita o esquema XML e gera classes Java.
Assim, você pode ver que os componentes do JDK são aqueles que são exigidos por nós do ponto de vista do desenvolvimento.
como reproduzir arquivos .jar

Conforme mostrado no diagrama acima, o código-fonte Java é convertido em códigos de bytes pelo compilador Java, que faz parte do JDK. Em seguida, esse código de byte é passado para a JVM (processo já descrito acima) e de lá vai para o JRE, onde o código é executado.
Tendo visto os detalhes sobre JDK e JRE, agora vamos discutir as diferenças entre JRE e JDK.
JRE Vs JDK
| Não | JRE | JDK |
|---|---|---|
| 7 | Aceita o programa Java compilado / interpretado como entrada e gera saída. | Compila o programa fonte Java e gera um arquivo de classe que é então fornecido ao JVM. |
| 1 | JRE significa Java Runtime Environment. | JDK significa Java Development Kit. |
| dois | Mais usado para a execução de programas Java. | JDK é usado por desenvolvedores para desenvolver programas Java. |
| 3 | Contém Java Virtual machine (JVM) empacotado dentro dele. | Não tem JVM. |
| 4 | JRE não tem compilador Java, portanto não pode compilar programas. | JDK tem compilador javac e é responsável por compilar programas. |
| 5 | Contém a biblioteca de classes java, o comando java e outras infraestruturas. | O JDK contém ferramentas como Javadoc e arquivador que são usadas para desenvolver aplicativos Java. |
| 6 | O JRE pode ser instalado como um programa independente. | O JDK é um instalador separado e vem com o JRE. |
Conclusão
Neste tutorial, discutimos os detalhes do Java Development Kit (JDK) que vem junto com o Java Runtime Environment (JRE) e o compilador Java. O JRE, por sua vez, contém a Java Virtual Machine (JVM), que é responsável por converter o código de bytes gerado pelo compilador Java em código específico da máquina.
Todos esses, incluindo a linguagem Java, são componentes de uma entidade pai chamada plataforma Java, que é um ambiente que nos ajuda a executar um aplicativo Java. Também discutimos a arquitetura detalhada e o funcionamento da JVM, bem como a execução de um programa Java aqui.
=> Dê uma olhada no guia para iniciantes em Java aqui.
Leitura recomendada
- Java Virtual Machine: como a JVM ajuda na execução de aplicativos Java
- Tutorial Java SWING: Container, Componentes e Manipulação de Eventos
- Implantação Java: Criação e execução de arquivo JAR Java
- Modificadores de acesso em Java - Tutorial com exemplos
- Tutorial de reflexão Java com exemplos
- Introdução à linguagem de programação Java - tutorial em vídeo
- Tutorial de JAVA para iniciantes: mais de 100 tutoriais práticos em vídeo Java
- OOP Java: introdução à programação orientada a objetos em Java