O que é o Java Runtime Environment (JRE)?
Saiba o que o Java Runtime Environment (JRE) faz e como ele funciona com outros componentes da plataforma Java para executar aplicativos Java.
Assine a newsletter da IBM
plano de fundo azul e preto
O que é o JRE?

O Java Runtime Environment ou JRE, é uma camada de software que é executada sobre um software de sistema operacional de um computador e fornece as bibliotecas de classe e outros recursos que um programa Java específico precisa executar.

O JRE é um dos três componentes inter-relacionados para desenvolvimento e execução de programas Java. Os outros dois componentes são os seguintes:

  • O Java Development Kit, ou JDK, é um conjunto de ferramentas para desenvolver aplicativos Java. Os desenvolvedores escolhem JDKs por versão de Java e por pacote ou edição, como Java Enterprise Edition (Java EE), Java Special Edition (Java SE) ou Java Mobile Edition (Java ME). Todo JDK sempre inclui um JRE compatível, pois executar um programa Java faz parte do processo de desenvolvimento de um programa Java.

  • A Java Virtual Machine, ou JVM, executa aplicativos Java em tempo real. Todo JRE inclui um JRE padrão, mas os desenvolvedores são livres para escolher outro que atenda às necessidades específicas de recursos de seus aplicativos.

O JRE combina o código Java criado usando o JDK com as bibliotecas necessárias para executá-lo em uma JVM e, em seguida, cria uma instância da JVM que executa o programa resultante. As JVMs estão disponíveis para vários sistemas operacionais e os programas criados com o JRE podem ser executados em todos eles. Dessa forma, o Java Runtime Environment é o que possibilita que um programa Java seja executado em qualquer sistema operacional sem modificação.

Você pode fazer o download do JDK e de um JRE compatível da Oracle (link externo à ibm.com).

Como o JRE funciona?

O JDK e o JRE interagem entre si para criar um ambiente de tempo de execução sustentável que permite executar aplicativos com base em Java perfeitamente e em, praticamente, qualquer sistema operacional. Confira os componentes da arquitetura do tempo de execução do JRE a seguir:

ClassLoader

O Java ClassLoader carrega dinamicamente todas as classes necessárias para executar um programa Java. Como as classes Java são apenas carregadas na memória quando necessárias, o JRE usa ClassLoaders para automatizar este processo sob demanda.

Verificador de bytecode

O verificador de bytecode garante o formato e a precisão do código Java antes de o passar para o interpretador. No caso do código violar a integridade do sistema ou os direitos de acesso, a classe será considerada corrompida e não será carregada.

Interpretador

Após o bytecode carregar com sucesso, o interpretador Java cria uma instância da JVM que permite que o programa Java seja executado nativamente na máquina subjacente.

Em que consiste o JRE?

Além da Java Virtual Machine, o JRE é composto por uma variedade de outras ferramentas e recursos de software de suporte para obter o máximo de seus aplicativos Java.

Soluções de implementação

As tecnologias de implementação como Java Web Start e Java Plugin são incluídas como parte da instalação do JRE, simplificam a ativação de aplicativos e fornecem suporte avançado para futuras atualizações Java.

Kits de ferramentas de desenvolvimento

O JRE também contém kits de ferramentas projetados para ajudar os desenvolvedores a melhorar sua interface com o usuário. Alguns desses kits de ferramentas incluem:

  • Java 2D:  uma Interface de Programação de Aplicativos (API) usada para desenhar gráficos bidimensionais em linguagem Java. Os desenvolvedores podem criar interfaces com o usuário detalhadas, efeitos especiais, jogos e animações.

  • Abstract Window Toolkit (AWT):  uma GUI (interface gráfica com o usuário) usada para criar objetos, botões, barras de rolagem e janelas.

  • Swing:  outra GUI leve que usa um conjunto de widgets abrangente para oferecer customizações flexíveis e fáceis de usar.

Bibliotecas de integração

O Java Runtime Environment oferece uma série de bibliotecas de integração para auxiliar os desenvolvedores na criação de conexões de dados perfeitas entre seus aplicativos e serviços. Algumas dessas bibliotecas incluem:

  • Java IDL (CORBA):  usa Common Object Request Broker Architecture para oferecer suporte a objetos distribuídos escritos em linguagem de programação Java.

  • API da Java Database Connectivity (JDBC):  oferece ferramentas para desenvolvedores escreverem aplicativos com acesso a bancos de dados de relacionamento remoto, arquivos simples e planilhas.

  • Java Naming and Directory Interface (JNDI):  uma interface de programação e serviço de diretórios que permite aos clientes criar aplicativos portáteis que podem buscar informações a partir de bancos de dados usando convenções de nomenclatura.

Bibliotecas de linguagem e utilitários

Incluído com o JRE estão pacotes java.lang. e java.util. que são fundamentais para o design de aplicativos Java, versionamento, gerenciamento e monitoramento de pacotes. Alguns desses pacotes incluem:

  • Collections Framework:  uma arquitetura unificada composta por uma coleção de interfaces projetadas para melhorar o processo e o armazenamento de dados do aplicativo.

  • Utilitários de simultaneidade:  um potente pacote de estrutura com utilitários de segmentação de alto desempenho.

  • API de preferências:  uma API persistente, leve e que pode ser usada em diferentes plataformas possibilita a vários usuários da mesma máquina definir seu próprio grupo de preferências de aplicativos.

  • Criação de logs : produz relatórios de registro, como falhas de segurança, erros de configuração e problemas de desempenho, para análise posterior.

  • Java Archive (JAR):  um formato de arquivo independente de plataformas que possibilita que vários arquivos sejam empacotados em formato de JAR, reduzindo o tamanho do arquivo e melhorando significativamente a velocidade de download.
Soluções relacionadas
Desenvolva e modernize aplicativos

Ofereça as habilidades e ferramentas que sua equipe precisa para impulsionar a inovação e avançar em seus negócios.

Saiba mais sobre criação e modernização de aplicativos
OpenJDK e IBM Runtimes for Business

O IBM Runtimes for Business fornece suporte para ambientes de tempo de execução Java de software livre, além de monitoramento e gerenciamento para aplicativos Java.

Conheça o OpenJDK e o IBM Runtimes for Business
IBM WebSphere Hybrid Edition

Descubra como impulsionar o desenvolvimento de tecnologias nativas de cloud, a modernização de aplicativos e o suporte para aplicativos existentes com o WebSphere Hybrid Edition.

Conheça o IBM WebSphere Hybrid Edition
Recursos O que é Java?

Saiba por que o Java continua sendo uma plataforma de desenvolvimento tão popular e como ele acelera projetos e suporta uma ampla variedade de tecnologias emergentes.

O que é Java Spring Boot?

Saiba como o Java Spring Boot simplifica o desenvolvimento de aplicativos da web e de microsserviços com o Java Spring Framework.

Dê o próximo passo

Para muitas organizações, o Java continua sendo uma parte essencial do desenvolvimento de aplicativos e fornece uma base sólida ao criar soluções portáteis e escaláveis. Conheça o OpenJDK e o IBM Runtimes for Business, que oferecem suporte comercial confiável e econômico para implementar, monitorar e gerenciar aplicativos Java.

Saiba mais sobre o OpenJDK e o IBM Runtimes for Business