O que é o Java Runtime Environment?

O Java Runtime Environment (JRE) é um software necessário para que os programas em Java funcionem corretamente. O Java é uma linguagem de programação que viabiliza muitas aplicações móveis e Web usadas hoje em dia. O JRE é a tecnologia subjacente que estabelece a comunicação entre o programa em Java e o sistema operacional. Ele atua como um tradutor e facilitador, fornecendo todos os recursos para que o software que você cria usando a linguagem funcione em qualquer sistema operacional sem modificações adicionais.

O que torna o JRE importante?

Um programa de software precisa de um ambiente de tempo de execução que forneça acesso a recursos do sistema como memória, arquivos de programas e dependências, entre outros. Antigamente, a maior parte dos softwares usava o sistema operacional diretamente como um ambiente de tempo de execução. No entanto, isso exigia que os desenvolvedores escrevessem códigos diferentes para cada sistema operacional no qual desejassem que o aplicativo funcionasse. A tecnologia Java Runtime Environment (JRE) foi criada como uma solução para esse problema.

 

Na verdade, o JRE é um dos três componentes da plataforma Java necessários para a execução correta de qualquer programa em Java. Os outros dois componentes são o Java Development Kit (JDK) e a Java Virtual Machine (JVM).

Java Development Kit

O JDK é uma coleção de ferramentas de software que você pode usar para desenvolver aplicações em Java. Para configurar o JDK em seu ambiente de desenvolvimento, basta baixar e instalar o software. Selecione a versão do JDK compatível com a versão do Java que deseja usar. Por exemplo, a versão Java Standard Edition, também conhecida como Java SE, requer o Java SE JDK.

Java Virtual Machine

A JVM é o software que executa cada linha do programa em Java. Os desenvolvedores definem as configurações da JVM para gerenciar recursos do programa quando o aplicativo em Java for executado. Por exemplo, é possível alterar a configuração de memória da JVM e verificar quanta memória interna seus aplicativos em Java estão usando no tempo de execução.

A função do JRE na linguagem de programação Java

O JRE combina o código em Java que você cria usando o JDK a códigos integrados adicionais chamados de bibliotecas. Em seguida, ele cria uma instância da JVM, ou cópia local, que executará os programas em Java. Há JVMs disponíveis para diversos sistemas operacionais, e o JRE gera uma cópia exclusiva de seu código Java que funciona em todos os tipos de JVMs. Dessa maneira, o JRE permite que os aplicativos em Java tenham independência em relação a plataformas. É possível escrevê-los uma vez e executá-los em qualquer lugar.

A diferença entre o JRE, a JVM e o JDK

O JDK é a camada de software acima do JRE que contém um compilador, um depurador e outras ferramentas normalmente encontradas em qualquer ambiente de desenvolvimento de software. No JDK, você escreve o código usando sintaxe semelhante ao idioma inglês. O JDK compila o código e o transmite em bytes para o JRE. Por sua vez, o JRE contém bibliotecas de classes, arquivos de suporte e a JVM. Ele usa esses componentes de software para executar o código em bytes em qualquer dispositivo.

Como o JRE funciona?

O Java Runtime Environment (JRE) funciona acima do sistema operacional, fornecendo recursos adicionais específicos da linguagem Java. O Java Development Kit (JDK) e o JRE interagem para criar um ambiente sustentável de tempo de execução capaz de executar arquivos de programa em Java em qualquer máquina. O funcionamento do JRE recorre a três componentes básicos.

ClassLoader

As bibliotecas de classes Java contêm coleções de código pronto que você pode chamar conforme necessário. Elas simplificam o trabalho dos desenvolvedores Java ao disponibilizar métodos integrados para tarefas comuns e não triviais, p. ex., obter uma entrada do usuário, exibir uma saída para o usuário e muito mais. Todos os programas em Java consultam várias bibliotecas de classes. O Java ClassLoader carrega dinamicamente e sob demanda na Java Virtual Machine (JVM) todos os arquivos de classe necessários.

Verificador de bytecode

O JDK tem um compilador que converte o código que você escreve usando a sintaxe semelhante ao idioma inglês em uma versão de linguagem de máquina chamada código de bytes Java. O verificador de bytecode no JRE confere o formato e a precisão do código Java antes de carregá-lo na JVM. Por exemplo, se o código violar a integridade ou os direitos de acesso do sistema, o JRE não carregará o arquivo de classe.

Interpretador

Após o carregamento bem-sucedido do bytecode, o interpretador Java cria a instância da JVM que executa o programa em Java na máquina subjacente.

Quais são os componentes do JRE?

Além dos componentes básicos, o Java Runtime Environment (JRE) contém diversos outros componentes de software que ajudam na execução mais eficiente de programas em Java. Veja alguns exemplos a seguir:

Ferramentas de desenvolvimento

O JRE contém ferramentas de desenvolvimento como kits de ferramentas para interface de usuário que você pode usar a fim de melhorar a qualidade de seus aplicativos. Veja alguns exemplos a seguir:

Java 2D

O Java 2D é uma interface de programação de aplicativos (API) que você pode usar para desenhar gráficos bidimensionais e criar interfaces de usuário, jogos, animações e efeitos especiais avançados em linguagem Java.

Swing

O Swing é uma interface gráfica do usuário (GUI) leve e que oferece personalizações flexíveis e fáceis de usar.

Abstract Window Toolkit

O Abstract Window Toolkit (AWT) é uma GUI que pode ser usada para criar objetos de interface do usuário (IU) como botões, janelas e barras de rolagem.

Soluções para implantação

O JRE inclui tecnologias que simplificam o processo de liberação de mudanças de software para os usuários de aplicativos. Essas tecnologias também fornecem suporte avançado para atualizações no aplicativo. Tecnologias de implantação como Java Web Start e plugin Java estão incluídas na instalação do JRE. Essas tecnologias simplificam a ativação de aplicativos e também fornecem suporte avançado para futuras atualizações do JRE. Veja alguns exemplos a seguir:

Java Web Start

Com o Java Web Start, é possível executar aplicativos com recursos completos em um clique diretamente do seu navegador.

Plugin Java

O plugin Java estabelece uma conexão entre navegadores populares e a plataforma Java para que você possa executar os applets do seu site no navegador de um desktop.

Bibliotecas de linguagens e utilitários

Uma coleção de arquivos de classes Java é chamada de um pacote Java. O JRE inclui vários pacotes Java compatíveis com versionamento, gerenciamento e monitoramento. Veja alguns exemplos de pacotes a seguir:

Framework de coleções

O framework de coleções é uma arquitetura unificada que inclui interfaces para aprimorar o armazenamento e o processamento de dados de aplicativo.

API Preferences

A API Preferences permite que vários usuários na mesma máquina definam os próprios grupos de preferências de aplicativo.

Registro em log

Os pacotes de registro em log produzem relatórios de log para solucionar incidentes como falhas de segurança, problemas de desempenho e erros de configuração.

Java Archive

O Java Archive (JAR) é um formato de arquivo independente de plataforma que permite agrupar vários arquivos a fim de reduzir os tamanhos de arquivo do seu aplicativo e melhorar significativamente a velocidade de download.

Bibliotecas de integração

O JRE inclui várias bibliotecas de integração que auxiliam os desenvolvedores na criação de conexões contínuas de dados entre os serviços e aplicativos. Veja alguns exemplos de bibliotecas a seguir:

Java IDL

Baseada na Common Object Request Broker Architecture (CORBA), a Java Interface Definition Language (IDL – Linguagem de Definição de Interface) é compatível com objetos distribuídos de dados, ou seja, objetos que interagem com diferentes plataformas em uma rede. Por exemplo, a Java IDL permite que objetos escritos em Java interajam com objetos em outras linguagens, p. ex., C, C++ ou COBOL.

Java Database Connectivity

Os desenvolvedores usam a API Java Database Connectivity (JDBC) para criar aplicativos capazes de acessar bancos de dados, planilhas e arquivos remotos.

Java Naming and Directory Interface

O Java Naming and Directory Interface (JNDI) é um serviço de diretório que permite aos clientes criar aplicativos portáteis que buscam informações em bancos de dados externos usando regras de nomenclatura.

O que é o AWS SDK para Java?

kit de desenvolvimento de software (SDK) da AWS para Java simplifica o uso de produtos da AWS ao fornecer para os desenvolvedores de Java um conjunto de bibliotecas consistentes e já conhecidas. Ele é compatível com abstrações de nível superior para desenvolvimento simplificado. O kit disponibiliza bibliotecas Java de código aberto centradas na AWS junto com exemplos de código e um guia de referência de API Java.

 

Os exemplos de código do AWS SDK para Java 2.0 no GitHub contêm exemplos de código Java e casos de uso do mundo real para produtos da AWS que ajudam a acelerar o desenvolvimento de suas aplicações. Além disso, o AWS SDK for Java API Reference Guide (Guia de referência de API do AWS SDK para Java) descreve as operações de API para a versão mais recente do AWS SDK para Java. O guia de referência fornece solicitações de amostra, respostas e erros para os protocolos de serviços da Web compatíveis.

 

Comece a usar o AWS SDK para Java com o Guia do desenvolvedor do AWS SDK para Java ou acesse o Centro do desenvolvedor Java da AWS.                                       

Próximas etapas na AWS