JRE (Java Runtime Environment)

menu icon

JRE (Java Runtime Environment)

Saiba o que o Java Runtime Environment (JRE) faz e como ele funciona com outros componentes da plataforma Java para executar aplicativos Java.

O que é o JRE (Java Runtime Environment)?

O Java Runtime Environment ou JRE, é uma camada de software que é executado sobre um software de sistema operacional de um computador e fornece as bibliotecas de classe e outros recursos que um programa específico do Java 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 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).

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 sem interrupções 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 passar para o interpretador. No caso de o 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 de software de suporte e recursos 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 Application Programming Interface (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:

  • IDL Java (CORBA): usa a Common Object Request Broker Architecture para oferecer suporte a objetos distribuídos gravados em linguagem de programação Java.
  • API Java Database Connectivity (JDBC): oferece ferramentas para desenvolvedores criarem 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

Os pacotes java.lang. e java.util. são oferecidos junto ao JRE e são fundamentais para o design de aplicativos Java, a definição de versão de pacotes, monitoramento e gerenciamento. 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 encadeamento 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 log: produz relatórios de log, tais como falhas de segurança, erros de configuração e problemas de desempenho para possibilitar análises mais aprofundadas.
  • 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.

JRE e IBM

JRE e IBM Cloud

Para muitas organizações, o Java continua a ser uma parte essencial do desenvolvimento de aplicativos e fornece uma base sólida ao criar soluções portáteis e escaláveis. Ele também pode ter um papel importante na modernização de aplicativos em sua jornada para a cloud.

Dê o próximo passo:

  • Conheça o OpenJDK e IBM Runtimes for Business, que oferece suporte comercial confiável e com boa relação custo-benefício para implementação, monitoramento e gerenciamento de aplicativos Java.

Comece a usar com uma conta IBM Cloud hoje mesmo.